Мой проект Django — это веб-сайт с одним приложением, на главной странице которого отображаются статьи/публикации из моей базы данных, а также страницы с тегами тем и архивами за год/месяц. Все остальные страницы — это статические страницы для фото- и видеогалерей, а также страница «О нас» — они вообще не используют базу данных.
Я пытаюсь заставить одну из статических страниц отображается, но я продолжаю сталкиваться с ошибкой 404 следующего содержания (примечание: я заменил имя приложения на «»):
No article found matching the query
Request Method: GET
Request URL: http://127.0.0.1:8000/illustrations
Raised by: .views.ArticleDetailView
Using the URLconf defined in website.urls, Django tried these URL patterns, in this order:
admin
[name='home']
[name='article_detail']
The current path, illustrations, matched the last one.
На главной странице отображаются все статьи в ListView, и вы можете щелкнуть отдельные статьи, чтобы просмотреть их в DetailView с назначенным фрагментом в качестве URL-адреса. Файл "иллюстраций" — это отдельная статическая HTML-страница, которую я буду использовать и которая не имеет ничего общего ни с базой данных, ни с представлениями "Список" или "Подробности".
Не могу сказать, правильно ли я это сделал. следует сделать домашнюю страницу отдельным приложением или мне просто нужно изменить файлы URL-адресов/представлений. (Я изучаю Django и Python, поэтому определенно учусь по ходу дела.)
Вот views.py:
from django.shortcuts import render
from django.views import generic
from .models import Article
from django.http import JsonResponse # Ignore for now, I just put this here for when I work on making a JSON feed
class ArticleListView(generic.ListView):
model = Article
paginate_by = 6
template_name = "index.html"
class ArticleDetailView(generic.DetailView):
model = Article
template_name = "article.html"
def illustrations(request):
return render(request, "illustrations.html")
urls.py (проект):
from django.contrib import admin
from django.conf import settings
from django.urls import path, include
from django.conf.urls.static import static
urlpatterns = [
path('admin', admin.site.urls),
path("", include(".urls")),
]
if settings.DEBUG: # new
urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urls.py (приложение):
from django.urls import path
from . import views
from django.conf.urls.static import static # Not sure if needed
from django.views.generic import TemplateView
from .views import ArticleListView, ArticleDetailView
# For setup info, see https://learndjango.com/tutorials/djang ... s-tutorial
urlpatterns = [
path("", ArticleListView.as_view(), name="home"), # This is index.html,
path("", ArticleDetailView.as_view(), name="article_detail"),
path("illustrations", views.illustrations, name="illustrations"),
]
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-urlconf
Нужна помощь в исправлении ошибки Django 404: не удается найти статическую страницу с помощью URLConf. ⇐ Python
Программы на Python
1736209606
Anonymous
Мой проект Django — это веб-сайт с одним приложением, на главной странице которого отображаются статьи/публикации из моей базы данных, а также страницы с тегами тем и архивами за год/месяц. Все остальные страницы — это статические страницы для фото- и видеогалерей, а также страница «О нас» — они вообще не используют базу данных.
Я пытаюсь заставить одну из статических страниц отображается, но я продолжаю сталкиваться с ошибкой 404 следующего содержания (примечание: я заменил имя приложения на «»):
No article found matching the query
Request Method: GET
Request URL: http://127.0.0.1:8000/illustrations
Raised by: .views.ArticleDetailView
Using the URLconf defined in website.urls, Django tried these URL patterns, in this order:
admin
[name='home']
[name='article_detail']
The current path, illustrations, matched the last one.
На главной странице отображаются все статьи в ListView, и вы можете щелкнуть отдельные статьи, чтобы просмотреть их в DetailView с назначенным фрагментом в качестве URL-адреса. Файл "иллюстраций" — это отдельная статическая HTML-страница, которую я буду использовать и которая не имеет ничего общего ни с базой данных, ни с представлениями "Список" или "Подробности".
Не могу сказать, правильно ли я это сделал. следует сделать домашнюю страницу отдельным приложением или мне просто нужно изменить файлы URL-адресов/представлений. (Я изучаю Django и Python, поэтому определенно учусь по ходу дела.)
Вот [b]views.py[/b]:
from django.shortcuts import render
from django.views import generic
from .models import Article
from django.http import JsonResponse # Ignore for now, I just put this here for when I work on making a JSON feed
class ArticleListView(generic.ListView):
model = Article
paginate_by = 6
template_name = "index.html"
class ArticleDetailView(generic.DetailView):
model = Article
template_name = "article.html"
def illustrations(request):
return render(request, "illustrations.html")
[b]urls.py (проект)[/b]:
from django.contrib import admin
from django.conf import settings
from django.urls import path, include
from django.conf.urls.static import static
urlpatterns = [
path('admin', admin.site.urls),
path("", include(".urls")),
]
if settings.DEBUG: # new
urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
[b]urls.py (приложение)[/b]:
from django.urls import path
from . import views
from django.conf.urls.static import static # Not sure if needed
from django.views.generic import TemplateView
from .views import ArticleListView, ArticleDetailView
# For setup info, see https://learndjango.com/tutorials/django-file-and-image-uploads-tutorial
urlpatterns = [
path("", ArticleListView.as_view(), name="home"), # This is index.html,
path("", ArticleDetailView.as_view(), name="article_detail"),
path("illustrations", views.illustrations, name="illustrations"),
]
Подробнее здесь: [url]https://stackoverflow.com/questions/79334242/need-help-fixing-a-django-404-error-not-finding-a-static-page-using-urlconf[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия