我继承了一个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应用程序摘录显示了与下拉菜单相关的代码...
对于帐户下拉列表
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上工作吗?如何解决这个问题,让它在两台机器上都能工作?会不会是从%1到% 2的副本中的.pyc文件?
发布于 2013-12-12 02:21:17
显示错误的机器正在使用django 1.4,而它需要使用django 1.5。url模板方案在不同版本之间改变,并且它不向后兼容(不幸的是)。
pip install django==1.5此外,请在重新启动开发服务器之前删除pyc文件
find . -name "*pyc" | xargs rmhttps://stackoverflow.com/questions/20526486
复制相似问题