Django 如何防止额外的斜杠出现在浏览器的url中

Django 如何防止额外的斜杠出现在浏览器的url中,django,Django,url.py url(r'^kebreading/$,'KEBReading1',name=“kebreading”), url(r'^kebreading/(?P\w*)/(?P\w*)/(?P\w*)/(?P\w*)/$),kebreading 1',name=“kebreading”) 我有一个视图,我将5个参数传递给它。当我不传递任何参数时,会调用相同的视图。但是浏览器中的url会附加五个斜杠,即使我不传递任何参数。如何防止这种情况发生 您可以使用regexp?符号创建一个可选组,并使

url.py

url(r'^kebreading/$,'KEBReading1',name=“kebreading”),
url(r'^kebreading/(?P\w*)/(?P\w*)/(?P\w*)/(?P\w*)/$),kebreading 1',name=“kebreading”)

我有一个视图,我将5个参数传递给它。当我不传递任何参数时,会调用相同的视图。但是浏览器中的url会附加五个斜杠,即使我不传递任何参数。如何防止这种情况发生

您可以使用regexp
符号创建一个可选组,并使用
?:
以便Django不会将此组作为
*arg
参数传递

比如:

url(r'^kebreading/$', 'KEBReading1',name="kebreading"),
url(r'^kebreading/(?P<param>\w*)/(?P<date>\w*)/(?P<year>\w*)/(?P<month>\w*)/$', kEBReading1',name="kebreading")
url(r'^kebreading/(?:(?P\w*)/(?P\w*)/(?P\w*)/(?P\w*)/)?$”,kebreading 1',name=“kebreading”)
还有一个类似的问题

url(r'^kebreading/(?:(?P<param>\w*)/(?P<date>\w*)/(?P<year>\w*)/(?P<month>\w*)/)?$', kEBReading1',name="kebreading")