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