我发现Django实验,nexus和gargoyle与Django 1.5不兼容。幸运的是,几乎所有的问题都通过引用第一个参数到“url”模板标签的每一处发生。django实验和Django 1.5:NoReverseMatch错误
我坚持反对的东西我一直无法弄清楚 - 我收到以下错误,当我去我的目标页:
NoReverseMatch at /trial/trial1/
Reverse for 'experiment_goal' with arguments '(u'clicktrynow',)' and keyword arguments '{}' not found.
我跑的Django 1.5。 1和Python 2.7.3在runserver上。我也可以在Heroku的Python 2.7.4中重现这一点。
我的目标页面(达到该页面完成目标)有这一行吧:
{% experiment_goal "clicktrynow" %}
的experiment_goal templatetag似乎自动包含在这一点上实验/ goal.html模板。实验/ goal.html包含:
<img src="{% url 'experiment_goal' goal_name %}?v={{ random_number }}" height="1" width="1" />
(我已经固定在引用 'experiment_goal'。)
的URL模式的Django的实验应用包含此行:
url(r'^goal/(?P<goal_name>.*)$', 'record_experiment_goal', name="experiment_goal"),
最后,我的settings.py与django实验相关的行是:
EXPERIMENTS_REDIS_HOST = get_env_variable('REDISTOGO_URL', default='redis://localhost:6379')
EXPERIMENTS_REDIS_PORT = 6379
EXPERIMENTS_REDIS_DB = 0
INSTALLED_APPS += ('django.contrib.humanize', 'nexus', 'gargoyle', 'experiments',)
MIDDLEWARE_CLASSES += ('experiments.middleware.ExperimentsMiddleware',)
EXPERIMENTS_GOALS = ('clicktrynow',)
我是Django的新手,b所有这一切似乎都应该起作用。我错过了什么?
更新:我的项目的urls.py不包含来自django实验的urls.py。文档没有说你需要。但也许我应该。调查...
RE:您的更新,是的,你将需要包括除非这里有一些魔法,否则任何模式的URL都会注册99%的时间。 – 2013-04-30 01:28:32