2012-07-11 20 views
62
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にあります。なにが問題ですか?それは廃止されましたか?

答えて

126

redirect_toの代わりにclass-based viewsを使用してください。これらのファンクションベースの汎用ビューは推奨されなくなりました。誰かがRedirectViewを使用し、URLにリダイレクトしたい場合はここで

は、クラスベースのビューの使い方の簡単な例

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")), 
) 

更新

です。

from django.views.generic import RedirectView 

urlpatterns = patterns('', 
    (r'^one/$', RedirectView.as_view(url='/another/')), 
) 
+6

この例をありがとう。 1.5にアップグレードしました。すぐにredirect_toとdirect_to_templateの両方でエラーが発生しました。 Upvoted。 – commadelimited

5

はい、古い関数ベースの汎用ビューは1.4で廃止されました。代わりに、クラスベースのビューを使用します。

+2

redirect_toの代わりに何が使えますか? – Burak

+1

@Burak、上記のRedirectView.as_view(url = '/ another-url /')はどうですか? – Massagran

52

このパラメータでRedirectViewを使用するために、

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

この例をありがとう。 1.5にアップグレードしました。すぐにredirect_toとdirect_to_templateの両方でエラーが発生しました。 Upvoted。 – commadelimited

+2

ありがとう!魅力のように動作します!実際には、これは質問に対する正解です。受け入れられた答えは、redirect_toの代わりではありません。 –

2

とレコード(現在のドキュメントの該当例)のために働く必要があります。

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)として渡されます。

RedirectViewtemplate_nameを使用する方法がまだわかりません。urls.pyです。

関連する問題