Django: Support for string view arguments to url() is deprecated and will be removed in Django 1.10 Django: Support for string view arguments to url() is deprecated and will be removed in Django 1.10 python python

Django: Support for string view arguments to url() is deprecated and will be removed in Django 1.10


I have found the answer to my question. It was indeed an import error. For Django 1.10, you now have to import the app's view.py, and then pass the second argument of url() without quotes. Here is my code now in urls.py:

from django.conf.urls import urlfrom django.contrib import adminimport main.viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^$', main.views.home)]

I did not change anything in the app or view.py files.

Props to @Rik Poggi for illustrating how to import in his answer to this question:Django - Import views from separate apps


You should be able to use the following:

from django.conf.urls import urlfrom django.contrib import adminfrom main import viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^$', views.home)]

I'm not absolutely certain what your directory structure looks like, but using a relative import such as from . import X is for when the files are in the same folder as each other.


You can use your functions by importing all of them to list and added each one of them to urlpatterns.

from django.conf.urls import urlfrom django.contrib import adminfrom main.views import(   home,   function2,   function3,)urlpatterns = [   url(r'^admin/', admin.site.urls),   url(r'^home/$', home),   url(r'function2/^$', function2),   url(r'^$', function3),]