Django中的“No module named simple”错误
ImportError at/
No module named simple
Django Version: 1.5.dev20120710212642
我安装了最新的django版本。我正在使用Django中的“No module named simple”错误
from django.views.generic.simple import redirect_to
在我的urls.py中。哪里不对?它是否被弃用?
使用class-based views而不是redirect_to
,因为这些基于功能的通用视图已被弃用。
这是基于类的意见用法
from django.conf.urls import patterns, url, include
from django.views.generic import TemplateView
urlpatterns = patterns('',
(r'^about/', TemplateView.as_view(template_name="about.html")),
)
更新的简单例子
如果有人想重定向到一个URL,使用RedirectView。
from django.views.generic import RedirectView
urlpatterns = patterns('',
(r'^one/$', RedirectView.as_view(url='/another/')),
)
这应该工作
from django.conf.urls import patterns
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'some-url', RedirectView.as_view(url='/another-url/'))
)
感谢这个例子。我们刚刚升级到1.5,并立即通过redirect_to和direct_to_template获得错误。 Upvoted。 – commadelimited 2013-02-27 14:47:40
谢谢!奇迹般有效!其实这是对这个问题的正确答案。接受的答案不是redirect_to的替代品。 – 2013-03-27 06:50:54
并记录在案(目前在文档中没有相关的例子),使用RedirectView与参数:
from django.conf.urls import patterns, url
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^myurl/(?P<my_id>\d+)$', RedirectView.as_view(url='/another_url/%(my_id)s/')),
)
请注意,虽然正则表达式的外观对于一个数字(\d+
),该参数作为字符串传递(%(my_id)s
)。
目前尚不清楚如何使用RedirectView
与template_name
在urls.py
。
感谢这个例子。我们刚刚升级到1.5,并立即通过redirect_to和direct_to_template获得错误。 Upvoted。 – commadelimited 2013-02-27 14:48:14