Django 如何防止额外的斜杠出现在浏览器的url中
url.pyDjango 如何防止额外的斜杠出现在浏览器的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(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")