Локальная страница хоста не найдена - PullRequest
0 голосов
/ 27 июня 2019

Хорошо, я новый ученик и слежу за учебником https://www.youtube.com/watch?v=D6esTdOLXh4

Моя проблема в том, что в последней части этого видео показаны публикации сайта, когда вы нажимаете на ссылку на сообщение:

Page not found (404)
Request Method: GET
Request URL:    http://localhost:8000/posts/details/1%3E/
Using the URLconf defined in djangoproject1.urls, Django tried these URL patterns, in this order:

[name='index']
details/<int:id>/ [name='details']
admin/
posts/ [name='index']
posts/ details/<int:id>/ [name='details']
The current path, posts/details/1>/, didn't match any of these.

Вот файлы .py и .html, которые я редактировал, которые могут быть лучшим местом для поиска ошибок

сообщений / urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('details/<int:id>/', views.details, name='details')
]

views.py

from django.shortcuts import render
from django.http import HttpResponse
from .models import Posts

# Create your views here.
def index(request):
    # return HttpResponse('HELLO FROM POSTS')

    # allows post to be shown in posts connected to index.html/
    posts = Posts.objects.all()[:10]

    context = {
        'title': 'Latest Posts',
        'posts': posts
    }

    return render(request, 'posts/index.html', context)

def details(request, id):
    post = Posts.objects.get(id=id)

    context = {
        'post': post
    }

return render(request, 'posts/details.html', context)

details.html

{% extends 'posts/layout.html' %}

{% block content %}
<h3 class="center-align red lighten-3">{{post.title}}</h3>
<div class="card">
    <div class="card-content">
        {{post.body}}
    </div>
    <div class="card-action">
        {{post.created_at}}       
    </div>
</div>
<a href="/posts" class="btn">Go Back</a>
{% endblock %}

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Хорошо, так что я нашел ответ, и это была просто опечатка "s" в моем файле index.py

{% extends 'posts/layout.html' %}

{% block content %}
<h3 class="center-align red lighten-3">{{title}}</h3>
<ul class="collection">
    <!-- allows post to be shown in posts connected to views.py/ -->
    {% for post in posts %}
        <li class="collection-item"><a href="/posts/details/{{post.id}}">{{post.title}}</a></li>
    {% endfor %}
</ul>
{% endblock %}

предыдущий был:

<a href="/post/details/{{posts.id}}">
0 голосов
/ 27 июня 2019

Вы пытались удалить символ ">" из ссылки.Ваши URL, не содержат символ «>» и имеют только номер.Поэтому ссылка, которую вы вставили в URL, не связана ни с одной из ваших ссылок в вашем urls.py.Вы также можете добавить отдельную ссылку в urls.py, которая включает «>», но я не думаю, что вы хотите это сделать.Дайте мне знать, если это работает!

Ваша новая ссылка будет:

// localhost: 8000 / posts / details / 1 /

...