Новый пользователь python/Django (и действительно новый для SO):
При попытке переноса моего проекта Django возникает ошибка:
RemovedInDjango110Warning: Support for string view arguments to url() is deprecated
and will be removed in Django 1.10 (got main.views.home). Pass the callable instead.
url(r'^$', 'main.views.home')
По-видимому, второй аргумент больше не может быть строкой. Я пришел, чтобы создать этот код, как и через учебник на multipalsight.com, который учит использовать Django с предыдущей версией (сейчас я работаю с 1.9). Учитель инструктирует нас создавать urlpatterns в urls.py из представлений, которые мы создаем в приложениях. Он учит нас создавать URL-адрес, например:
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', 'main.views.home')
]
для ссылки
def home(request):
return render(request, "main/home.html",
{'message': 'You\'ve met with a terrible fate, haven\'t you?'}) #this message calls HTML, not shown, not important for question
в view.py приложения "main", которое я создал.
Если этот метод устарел, как передать аргумент представления не как строку? Если я просто удалю кавычки, как показано в документации (https://docs.djangoproject.com/en/1.9/topics/http/urls/), я получаю сообщение об ошибке:
NameError: name 'main' is not defined
Я попытался "импортировать" представления или основные, используя код, представленный в этой документации:
from . import views
или
from . import main
который дал мне:
ImportError: cannot import name 'views'
и
ImportError: cannot import name 'main'
Я считаю, что я проследил это до ошибки импорта, и в настоящее время я изучаю это.