Django 视图被调用两次(双 GET 请求)

2024-02-09

我正在 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


此问题与 url 模式的排序方式无关urls.py.

就像问题下的评论中指出的那样,这与 HTML 模板中有问题的资产引用有关。

这意味着什么?

例如,尝试curl -i http://localhost:8000/example/ >> output.txt在您的终端中。然后打开output.txt在您选择的编辑器中。现在搜索href or src值为的属性None(或其他格式错误)。这是创建双重调用的原因之一。这就是我的原因。我删除了这些,双重调用就消失了。

这里有一篇关于如何在您的计算机上全面诊断此问题的旧但相关的文章:https://groups.google.com/forum/#!msg/django-users/CRMMYWix_60/KEIkguUcqxYJ https://groups.google.com/forum/#!msg/django-users/CRMMYWix_60/KEIkguUcqxYJ

快乐测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 视图被调用两次(双 GET 请求) 的相关文章

随机推荐