如何在 django 中为 HttpRequest.GET 设置默认值?

发布于 2024-08-31 05:10:16 字数 466 浏览 3 评论 0原文

我有一个网页,根据默认日期显示数据。然后,用户可以通过使用日期选择器选择日期并单击提交按钮来更改数据视图。我已经设置了一个变量,因此如果没有选择日期,则使用默认日期......那么问题是什么?如果用户尝试在不带参数的情况下输入 url 页面,问题就会出现...就像这样:

http://mywebpage/viewdata (example A)

而不是

http://mywebpage/viewdata?date= (example B)

我尝试使用:

if request.method == 'GET':

但显然,即使示例 A 仍然返回 true。我确信我犯了一些明显的初学者错误,但无论如何我都会问...除了将 url 传递给字符串并检查字符串中的“?date=”之外,是否有更简单的方法来处理示例 A?

I have a webpage that displays data based on a default date. The user can then change their view of the data by slecting a date with a date picker and clicking a submit button. I already have a variable set so that if no date is chosen, a default date is used.... so what's the problem? The problem comes if the user trys to type in the url page without a parameter... like so:

http://mywebpage/viewdata (example A)

instead of

http://mywebpage/viewdata?date= (example B)

I tried using:

if request.method == 'GET':

but apparently, even example A still returns true. I'm sure I'm doing some obvious beginner's mistake but I'll ask anyway... Is there a simpler way to handle example A other than passing the url to a string and checking the string for "?date="?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

财迷小姐 2024-09-07 05:10:16

您提到您在某处定义了默认值。

与其做这样的事情:

if 'date' in request.GET:
    date = request.GET['date']
else:
    date = '2010-05-04'

这样做更容易:

date = request.GET.get('date', '2010-05-04')

You mentioned that you have default values defined somewhere.

Instead of doing something like this:

if 'date' in request.GET:
    date = request.GET['date']
else:
    date = '2010-05-04'

It's easier to do it this way:

date = request.GET.get('date', '2010-05-04')
谁人与我共长歌 2024-09-07 05:10:16

我不太明白你的问题 - 更多代码会有帮助 - 但你不需要这样做:

if 'date' in request.GET:

I don't really understand your question - some more code would have helped - but don't you just need to do:

if 'date' in request.GET:
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文