Форум сайта python.su
Доброго времени суток. Прошу помощи. сразу хочу извиниться за ошибки. если таковые увидите - работать и учиться утомляет. Вопрос такой - я нгашел мануал по созданию проектов на Django . все шло нормально до момента расширения приложения. Требовалось добавить в файл blog/templates/blog/post_list.html строку <h1><a href=“{% url ‘post_detail’ pk=post.pk %}”>{{ post.title }}</a></h1> , чтобы в итоге файл был таким:
{% extends 'blog/base.html' %} {% block content %} {% for post in posts %} <div class="post"> <div class="date"> <p>Опубликовано: {{ post.published_date }}</p> </div> <h1><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></h1> <p>{{ post.text|linebreaksbr }}</p> </div> {% endfor %} {% endblock %}
NoReverseMatch at /Если я теперь создаю URL для странички поста blog/urls.py, добавив строку path('post/<int:pk>/', views.post_detail, name='post_detail'),:
Reverse for ‘post_detail’ not found. ‘post_detail’ is not a valid view function or pattern name.
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 2.2.17
Exception Type: NoReverseMatch
Exception Value:
Reverse for ‘post_detail’ not found. ‘post_detail’ is not a valid view function or pattern name.
Exception Location: /home/medusa/djangogirls/medusavenv/lib/python3.6/site-packages/django/urls/resolvers.py in _reverse_with_prefix, line 673
Python Executable: /home/medusa/djangogirls/medusavenv/bin/python
Python Version: 3.6.9
Python Path:
['/home/medusa/djangogirls',
‘/usr/lib/python36.zip’,
‘/usr/lib/python3.6’,
‘/usr/lib/python3.6/lib-dynload’,
‘/home/medusa/djangogirls/medusavenv/lib/python3.6/site-packages’]
Server time: Вт, 19 Янв 2021 21:21:01 +0300
from django.urls import path from . import views urlpatterns = [ path('', views.post_list, name='post_list'), path('post/<int:pk>/', views.post_detail, name='post_detail'), ]
Попытка соединения не удалась, хотя в самом Терминале ошибка присутствует. Дальнейшее прохождение мануала просто не возможно. Подскажите, если возможно конечно, где нужно править. Может не достаточно информации я сообщил. Спасибо.
Firefox не может установить соединение с сервером 127.0.0.1:8000.
Отредактировано medusa_01 (Янв. 19, 2021 20:58:57)
Офлайн
В Вашем приложении blog, вроде, создайте переменную app_name и пропишите имя маршрута в шаблоне в таком формате:
app_name:view_name
Но я думаю, ошибку Вы поняли
Отредактировано Alex.py (Янв. 23, 2021 17:00:23)
Офлайн
Пытаюсь изучать Django по книге Владимира Дронова “Django 3.0 Практика создания сайтов на Python”.
Использую Python 3.8.6 и Django 3.1.7 (последние на данный момент версии).
Проблема возникла в самом начале. Распишу все по пунктам:
1. Создаю новый проект samplesite:
django-admin startproject samplesite
cd samplesite
python manage.py runserver
http://127.0.0.1:8000/
python manage.py startapp bboard
INSTALLED_APPS = [ ... 'bboard.apps.BboardConfig', ]
from django.http import HttpResponse def index(request): return HttpResponse("Здесь будет выведен список объявлений.")
python manage.py runserver
http://127.0.0.1:8000/bboard/
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/bboard/
Using the URLconf defined in samplesite.urls, Django tried these URL patterns, in this order:
admin/
The current path, bboard/, didn't match any of these.
Офлайн
Вроде бы разобрался. Сообщение выводится. Продолжаю разбираться дальше.
Офлайн
eleks
Вроде бы разобрался. Сообщение выводится. Продолжаю разбираться дальше.
Отредактировано medusa_01 (Май 7, 2021 18:46:42)
Офлайн
eleksУ меня тоже самое было. Там нужно просто написать контроллер.
Пытаюсь изучать Django по книге Владимира Дронова “Django 3.0 Практика создания сайтов на Python”. Использую Python 3.8.6 и Django 3.1.7 (последние на данный момент версии).Проблема возникла в самом начале. Распишу все по пунктам:1. Создаю новый проект samplesite:
Офлайн