Запрос Django не достигает страницы
Я хочу добавить html-страницу контактов в мой существующий проект. Я поместил html-страницу в шаблон, где уже находится домашняя страница. Теперь я добавил url для контакта в каталог на уровне проекта, который направляет запрос к url на уровне приложения. Этот уровень приложения имеет функцию контакта в представлениях. Я установил url на уровне приложения, но контактная ссылка не отвечает. В отладке она показывает статус 200 ok. Не мог бы кто-нибудь указать мне, что я делаю не так? Это файл url уровня проекта
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('articles.urls')),
path('contact', include('articles.urls')),
]
это url-файл уровня приложения
urlpatterns = [
path('', views.articles, name='articles'),
path('', views.contact, name='contact'),
]
это функция представления, в которой одна функция возвращает страницу статьи, а другая не отвечает
def articles(request):
return render(request, 'articles/home.html')
def contact(request):
return render(request, 'articles/contact.html')
В отладке он показывает статус 200 ok. Может ли кто-нибудь указать мне, что я делаю неправильно?
Вы определили два пути с пустой строкой. Они вызывают соответственно articles
и contact
. Поскольку articles
указан первым, при посещении "домашней страницы" сработает представление articles
.
Каждый HTTP-запрос вызовет только одно представление, и это представление выдаст HTTP-ответ. Если вы таким образом хотите добавить что-то для контакта с кем-то, то вам следует изменить представление articles
или работать с другим путем, который вызовет представление contact
.
Вы не можете указать 2 пути для двух представлений, поэтому вам нужно изменить ваш url путь, вы можете сделать что-то вроде ниже, если у вас есть и представление статьи и представление контакта на articles
app's views.py
file.
уровень проекта urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('articles.urls')),
]
уровень приложения urls.py
urlpatterns = [
path('article/', views.articles, name='articles'),
path('contact/', views.contact, name='contact'),
]
Теперь вы можете использовать 127.0.0.1:800/article/
для просмотра статьи и 127.0.0.1:800/contact/
для просмотра контактов.