Django中的“没有模块命名为简单”错误
ImportError at / No module named simple Django Version: 1.5.dev20120710212642
我安装了最新的Django版本。 我在用
from django.views.generic.simple import redirect_to
在我的urls.py. 哪里不对? 它是否被弃用?
使用基于类的视图而不是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")), )
更新
如果有人想redirect到一个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.4中被弃用。 改为使用基于类的视图。
而对于logging(目前在文档中没有相关的例子),使用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/')), )
请注意,尽pipe正则expression式寻找一个数字( \d+
),该参数作为string( %(my_id)s
)传递。
目前还不清楚如何在urls.py
使用带有template_name
RedirectView
。