问题描述
我正在学习Django,通常我会使用诸如www.mysite.com/post/1之类的url,并且我已经理解了它们,因为它们在文档中有很好的描述。 现在,我需要创建一个类似www.mysite.com/calendar/?day=21&?month=12&year=2020的网址,我不知道应该在ulrpatterns列表中写些什么。 我已经尝试过这样的事情:
url(r'^search/(?P<parameter>\w+)',views.calendar,name='calendar')
但不起作用。 我应该把什么写成正则表达式?
谢谢
解决方法
这些参数不是路径的一部分,您无法使用url模式捕获它们。
您可以使用request.GET
直接在视图内部访问它们,请参见the docs。
常见的模式如下:
def calendar(request):
day = request.GET.get("day") # Will be None if "day" isn't in the query
month = request.GET.get("month")
year = request.GET.get("year")
[...]