Я только начал изучать django и запустил учебную часть 3, решил посмотреть, понял ли я преобразование из urls.py в views.py.
Я получил представления и URL-адреса для работы в опросах app, но затем я хотел создать представления в папке проекта, поэтому я создал файл views.py в папке проекта (см. код ниже) с представлением / функцией, которое я назвал «home».
Затем я отредактировал urls.py в папке проекта (см. Ниже). запустить сервер, все заработало! посетив URL: http://localhost: 8000 / он ответил: Привет, мир. Вы находитесь на ГЛАВНОЙ СТРАНИЦЕ.
НО .. когда я попытался создать другой вид в том же views.py, который называется: morn, и добавив для него URL, то ошибка (см. Ниже), http://localhost: 8000 / morn возвращение: локальный хост отказался подключаться.
Я ЭТО ТОЛЬКО ОДИН ИЗ ТОГО ЖЕ ПУТЬ, так что просто когда я подумал, что понял это, я вообще не понял?!?! Разница между этими двумя представлениями заключается только в их имени и пути. Почему это не работает?
на linux Манджаро Python 3.8.1 Django 3.0.3
#
#this is my urls.py (which I made myself), in the project folder
from django.urls import include, path
from django.contrib import admin
from . import views
#from views import morn
admin.autodiscover()
urlpatterns = [
#lager en index-side
path('', views.home, name='home'),
path('morn/', views.morn, name='morn'),
path('admin/', admin.site.urls, name='admin'),
path('polls/', include('polls.urls')),
]
#
#this is the views.py in myproject folder, same folder as
from django.http import HttpResponse
def home(request):
output = 'Hello, world. You\'re at the HOME PAGE.'
return HttpResponse(output)
def morn(request):
output = 'Hello, world. Youre at the morn-path.'
return HttpResponse(output)
ОШИБКА от konsole при просмотре утра:
File "/home/nr1/dev/django/myproject/myproject/urls.py", line 29, in <module>
path('morn/', views.morn, name='morn'),
AttributeError: module 'myproject.views' has no attribute 'morn'