我继承了一个python / django Web应用程序,我试图在新机器上工作。在机器1(原始)上,每个下拉菜单链接都能正常工作并且不会出错。在计算机2上,将Web应用程序复制到的新计算机,一个下拉菜单链接导致以下错误:
Exception Type: NoReverseMatch
Exception Value: Reverse for 'account_index' with arguments '()' and keyword arguments '{}' not found.
错误是指名为“base-site.html”的html模板文件。客户端下拉列表与帐户下拉列表具有相同的代码。在机器1上都工作,在机器2上,帐户1导致错误。下面的python app摘录显示了与下拉列表相关的代码......
对于帐户下拉列表
From base-site.html: <li><a tabindex="-1" href="{% url 'account_index' %}">Browse</a></li>
From account urls.py: url(r'^/?$', 'account.views.account_index', name='account_index'),
对于客户端下拉列表
From base-site.html: <li><a tabindex="-1" href="{% url 'client_index' %}">Browse</a></li>
From client urls.py: url(r'^$', 'client.views.client_index', name='client_index'),
有人可以建议为什么帐户下拉列表可以在机器1上运行而不在机器2上运行吗?如何解决这个问题所以它适用于两台机器?可能是.pyc文件在1到2的副本中被转移吗?
答案 0 :(得分:0)
显示错误的机器在需要使用django 1.5时使用django 1.4。 url模板方案在版本之间发生了变化,并且不向后兼容(不幸的是)。
pip install django==1.5
此外,在重新启动开发服务器之前删除pyc文件
find . -name "*pyc" | xargs rm