0

I have a django rest project which is built on Django1.7. I need to run it on Django 1.11. When i run

python manage.py migrate

The error is:

ImportError: No module named urls

on url.py line

url(r'^docs/', include('rest_framework_swagger.urls')),

I have already made modifications in url.py file to avoid patterns. The url.py file look like

from django.conf.urls import include,url
from django.conf import settings
from django.conf.urls.static import static
from django.views.generic.base import TemplateView
from django.contrib import admin


admin.autodiscover()

urlpatterns = [

url(r'^grappelli/', include('grappelli.urls')),
url(r'^docs/', include('rest_framework_swagger.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'', include('gcm.urls')),
url(r'^', include('apps.account.urls')),
url(r'^', include('apps.vegetables.urls')),
url(r'^', include('apps.orders.urls')),
url(r'^', include('apps.listings.urls')),
url(r'^', include('apps.rating.urls')),
url(r'^', include('apps.faq.urls')),
url(r'^thank-you/$', TemplateView.as_view(template_name="thankyou.html"), name="thankyou"),
url(r'^/error/$', TemplateView.as_view(template_name="error.html"), name="error"),
url(r'^$', TemplateView.as_view(template_name="index.html"), name="home"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += [
'',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.STATIC_ROOT})]

How could i run it?

Hari Krishnan
  • 5,992
  • 9
  • 37
  • 55

1 Answers1

0

In urls.py add this at the bottom,

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT

From Django 1.9 it does not support to add the URLs as a string, but it need to be imported as callable. So remove this from your urls.py.

urlpatterns += [ '', (r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT})]
zaidfazil
  • 9,017
  • 2
  • 24
  • 47