Я бы порекомендовал внести некоторые изменения в urls.py Я думаю, что этот метод ниже легче понять.
при запуске python3 manage.py runserver
вы можете открыть 127.0.0.1/example.
причина, по которой вы не понимаете, в том, что у Django много шаблонного кода.Я бы порекомендовал прочитать больше о том, как работают представления.каждый класс в views.py должен наследовать класс django, в этом примере я использую TemplateView
.имя вашего приложения - это папка, которая создается при добавлении в проект нового django-приложения.
from django.urls import path
from .views import exampleView
app_name = "example"
urlpatterns = [
path('/example', exampleView.as_view(), name='example'),
]
в views.py вы не можете создавать произвольные имена функций.когда веб-сайт загружается www.baseurl / example, вы делаете запрос на получение.поэтому у вас должен быть метод get
внутри вашего класса.
template_name
относится к html-странице, которая будет отображаться ... имя этого шаблона должно указывать на html-файл, который находится внутри project_root/templates/html_file.html
views.py
from django.views.generic import TemplateView, ListView
class exampleView(TemplateView):
template_name = 'test.html'
def get(self, request):
print("hello")
return render(request, self.template_name, {})
, если вы хотите, чтобы в вашем классе были классные функции.Добавьте их ниже функции get и вызывайте их, когда пользователь делает запрос get.