2012-07-11 15 views
62
ImportError at/
No module named simple 

Django Version: 1.5.dev20120710212642 

में मैंने" सरल नामित कोई मॉड्यूल सरल नहीं "त्रुटि नवीनतम django संस्करण स्थापित किया। मैं"Django

from django.views.generic.simple import redirect_to 

मेरे urls.py में उपयोग कर रहा हूं। गलत क्या है? क्या यह बहिष्कृत है?

उत्तर

126

के बजाय class-based views का उपयोग करें क्योंकि इन फ़ंक्शन-आधारित जेनेरिक दृश्यों को बहिष्कृत कर दिया गया है।

यहाँ वर्ग आधारित विचारों उपयोग

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/')), 
) 
+6

इस उदाहरण के लिए धन्यवाद। हमने अभी 1.5 तक अपग्रेड किया है और तुरंत redirect_to और direct_to_template दोनों के साथ त्रुटियां मिली हैं। Upvoted। – commadelimited

5

हां, पुराने कार्य-आधारित जेनेरिक विचार 1.4 में बहिष्कृत किए गए थे। इसके बजाय कक्षा-आधारित विचारों का उपयोग करें।

+2

redirect_to के बजाय मैं क्या उपयोग कर सकता हूं? – Burak

+1

@ बुरक, ऊपर बताए अनुसार RedirectView.as_view (url = '/ another-url /') के बारे में कैसे? – Massagran

52

इस

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

और रिकार्ड के लिए (दस्तावेज में वर्तमान में कोई प्रासंगिक उदाहरण), काम मानकों के साथ 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/')), 
) 

कृपया ध्यान दें कि हालांकि regex दिखता है एक संख्या के लिए (\d+), पैरामीटर एक स्ट्रिंग (%(my_id)s) के रूप में पारित किया गया है।

RedirectViewurls.py में RedirectView का उपयोग करने के लिए अभी भी अस्पष्ट नहीं है।