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 {}
これに影響を与える可能性のある本番環境の違いは何ですか?