【发布时间】:2016-01-03 05:35:51
【问题描述】:
我在 Django 1.8.3 中遇到了一些奇怪的行为。 (注:我从 1.7.4 开始项目) 我想重用视图以防它收到获取请求,因此我在位于我的 settings.py 所在位置的 urls.py 中定义了以下 url。
(注意:这是短版)
urlpatterns = patterns('',
url(r'^licenses/$', views.licenses),
url(r'^licenses/(?P<pool>.*)/$', views.licenses, name='pool'),
)
在我的views.py中我定义了以下视图:
def licenses(request, pool=None):
print request, request.GET
print pool
调用视图的模板(base.html):
<li><a href="/licenses/">Licenses</a>
<ul>
{% for pool in LICENSE_MENU %}
<li class="dir"><a href="/licenses/{{ pool }}">{{ pool }}</a></li>
{% endfor %}
</ul>
</li>
LICENSE_MENU 是由 context_processor 传递给 base.html 的许可证列表
一切正常。如果我点击一个许可证,我会被重定向到 licenses() 但我点击的许可证不会出现在请求中。 当我运行测试服务器并单击链接时,我的 shell 的输出如下:
[06/Oct/2015 12:16:03]"GET / HTTP/1.1" 200 129165
<WSGIRequest: GET '/licenses/'> <QueryDict: {}>
[06/Oct/2015 12:16:06]"GET /licenses/ HTTP/1.1" 200 128597
<WSGIRequest: GET '/licenses/ansys/'> <QueryDict: {}>
ansys
[06/Oct/2015 12:16:11]"GET /licenses/ansys/ HTTP/1.1" 200 128851
为什么我的视图打印池虽然不在请求查询字典中? 我错过了什么? 提前致谢。
【问题讨论】:
标签: django python-2.7