关于 URL 的反向解析,我有一个仅生产错误。我的模板代码如下:
{% for result in result_list %}
<div class="result">
{% if grh_out %}
<form action= "{% url 'result_show' forloop.counter0 %}" method="post">
{% endif %}
...
{% endfor %}
在 Django 开发服务器上一切正常,没有错误。但是,当迁移到生产服务器时,该行会"{% url 'result_show' forloop.counter0 %}"
生成 TypeError。我在生产服务器上打开调试尝试跟踪错误,发现它发生在...django/core/urlresolvers.py in _reverse_with_prefix
:
candidate = (prefix_norm + result) % dict(zip(prefix_args + params, unicode_args))
局部变量如下:
val 0
pattern 'result_show/(\\d+)'
self <RegexURLResolver 'expofit_web.urls' (None:None) ^/>
args (0,)
_prefix u'/~amartino/'
possibility [(u'result_show/%(_0)s', [u'_0'])]
unicode_args [u'0']
possibilities [([(u'result_show/%(_0)s', [u'_0'])], 'result_show/(\\d+)', {})]
lookup_view u'result_show'
prefix_norm u'/%7Eamartino/'
prefix_args []
params [u'_0']
result u'result_show/%(_0)s'
defaults {}
kwargs {}
生产环境中有什么不同可能会影响到这一点?