我正在 Django 中创建一个分类网站。单一视图功能可处理全球列表、城市列表、仅易货全球列表和仅易货城市列表。这个视图被称为ads
.
url 模式按以下顺序编写(请注意,每个模式都有唯一的名称,尽管它与相同的名称相关联)ads
view):
urlpatterns = patterns('',
url(r'^buy_and_sell/$', ads,name='classified_listing'),
url(r'^buy_and_sell/barter/$', ads,name='barter_classified_listing'),
url(r'^buy_and_sell/barter/(?P<city>[\w.@+-]+)/$', ads,name='city_barter_classified_listing'),
url(r'^buy_and_sell/(?P<city>[\w.@+-]+)/$', ads,name='city_classified_listing'),
)
问题是当我点击名为classified_listing
在上面的列表中,函数ads
被叫到twice。 IE。这是我在终端中看到的内容:
[14/Jul/2017 14:31:08] "GET /buy_and_sell/ HTTP/1.1" 200 53758
[14/Jul/2017 14:31:08] "GET /buy_and_sell/None/ HTTP/1.1" 200 32882
这意味着处理量加倍。我想urls.py
返回第一个匹配的 url 模式。我做错了什么以及解决此问题的最佳方法是什么?顺便说一句,所有其他调用都按预期工作(即仅一次)。
注意:如果我遗漏了什么,请询问更多信息。
理解这些类型的事件的很好的解释:https://groups.google.com/d/msg/django-users/CRMMYWix_60/KEIkguUcqxYJ https://groups.google.com/d/msg/django-users/CRMMYWix_60/KEIkguUcqxYJ