0

关于 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          {} 

生产环境中有什么不同可能会影响到这一点?

4

1 回答 1

0

这是Django 1.5 中的一个错误该补丁应用于github上的主分支 。

于 2013-03-14T13:42:55.270 回答