"No module named simple" error in Django

Django

Django Problem Overview


ImportError at /
No module named simple

Django Version:	1.5.dev20120710212642

I installed latest django version. I am using

from django.views.generic.simple import redirect_to

in my urls.py. What is wrong? Is it deprecated?

Django Solutions


Solution 1 - Django

Use class-based views instead of redirect_to as these function-based generic views have been deprecated.

Here is simple example of class-based views usage

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

Update

If someone wants to redirect to a URL, Use RedirectView.

from django.views.generic import RedirectView

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

Solution 2 - Django

this should work

from django.conf.urls import patterns
from django.views.generic import RedirectView

urlpatterns = patterns('',
    url(r'some-url', RedirectView.as_view(url='/another-url/'))
)

Solution 3 - Django

Yes, the old function-based generic views were deprecated in 1.4. Use the class-based views instead.

Solution 4 - Django

And for the record (no relevant example currently in documentation), to use RedirectView with parameters:

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

Please note that although the regex looks for a number (\d+), the parameter is passed as a string (%(my_id)s).

What is still unclear is how to use RedirectView with template_name in urls.py.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBurakView Question on Stackoverflow
Solution 1 - DjangoAhsanView Answer on Stackoverflow
Solution 2 - DjangoAdrian MesterView Answer on Stackoverflow
Solution 3 - DjangoDaniel RosemanView Answer on Stackoverflow
Solution 4 - DjangoWtowerView Answer on Stackoverflow