Пытаюсь загрузить простой html в Django, но появляется GET /homepage/ HTTP/1.1" 500 145
Я совсем новичок в разработке Django. Я сделал Учебник для приложения для опроса на официальной веб-странице Django, и все получилось хорошо. Поскольку у меня уже есть HTML с моего старого сайта, я хотел повторно использовать некоторые из них. Я решил создать приложение под названием "homepage" для главной страницы, которую вы получаете при посещении страницы (если это плохая практика, дайте мне знать). Поскольку главная страница - это более или менее просто вводный текст и навигационное меню без какой-либо фантастической функциональности, я не стал создавать БД (модели) в этом случае. Кроме того, я был уверен, что Django способен просто предоставить простой статический html без базы данных.
В папке hompage app файл urls.py выглядит следующим образом:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index1, name='index1'),]
и view.py следующим образом
from django.http import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
Все работает нормально. Как только я пытаюсь загрузить html файл (здесь простой, чтобы проверить, работает ли он), я получаю сообщение об ошибке. Новый view.py выглядит как в предложенном учебнике:
def index(request):
latest_question_list = 'Hallo'
context = {'latest_question_list': latest_question_list}
return render(request, 'homepage/index.html', context)
Структура папок такова, как предложено в учебнике:
myproject_dir/myproject
myproject_dir/homepage/templates/hompage/index.html
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My test page</title>
</head>
<body>
<p>This is my page</p>
<p>{{latest_question_list}}</p>
</body>
</html>
Опять же, это прекрасно работает с приложением опроса, которое у меня все еще работает в той же папке проекта. Это оставляет меня в замешательстве, и я с нетерпением жду ответа.
Установите путь по умолчанию в urls.py
в urlpatterns
списке вашего проекта.
from django.urls import path,include
urlpatterns=[
path('',include('homepage.urls'))
]
Затем его следующий route
будет решаться через urls.py
вашего приложения, то есть homepage
.
Имя представления, которое у вас есть, отличается от того, которое вы определили в пути:
# Change the view to this:
def index1(request):
latest_question_list = 'Hallo'
context = {'latest_question_list': latest_question_list}
return render(request, 'homepage/index.html', context)
или изменить путь с index1 на index.