如何修复:在Django中找不到页面(404)

时间:2019-06-07 11:02:46

标签: python django url

我是Django的新手。我的问题是,当我单击a.html中的标题时,它会将我定向到该URL。 http://localhost:8000/aba/R%C3%BCyada%20Aba%20G%C3%B6rmek 在此URL中,我收到一条错误消息;找不到页面404

这是我想做的;当我单击标题时,我想动态显示文章详细信息

dreamarticle / urls.py

from django.contrib import admin
from django.urls import path, re_path
from dreamarticle import views

app_name = "Dreamarticle"
urlpatterns = [
re_path('/aba/(.*?)/',views.aba,name="aba"),
path('a/',views.a,name="a"),
]

blog / urls.py

from django.contrib import admin
from django.urls import path,include
from article import views
from dreamarticle import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name="index"),
    path('articles/',include("article.urls")),
    path('user/',include("user.urls")),
    path('dreamarticle/',include("dreamarticle.urls")),    
  ]

dreamarticle / views.py

def aba(request, title):
    context = dict()
    context.update(
        dreamarticlesaba=get_object_or_404(dreamarticle, title=title),
    )
    return render(request, "aba.html", context)

aba.html

{% extends "layout.html" %}
{% block body%}
  <!-- Content here -->
<br>
<div class="container">
    <div class="row">
    {% if dreamarticlesaba %}
    {% for dreamarticle in dreamarticlesaba %}
    <div class="col-md-12  dreamdetail">
        <h1>{{dreamarticle.title}}</h1>
            <hr>
        <p>{{dreamarticle.content|safe|escape}}<p>          
        </div>
    {% endfor %}    
    {% endif %} 
    </div>
</div>

a.html

{% extends "layout.html" %}
{% block body%}
{% include "includes/searchbar.html" %}
  <!-- Content here -->
<br>
<div class="container">
    <div class="row">
    {% if dreamarticles %}
    {% for dreamarticle in dreamarticles %}
    <div class="col-md-4 text-center bg-primary">
    <a href="/aba/{{dreamarticle.title}}" class="titlerenk text-white"><br><b>{{dreamarticle.title}}</b></a>
    <b>{{dreamarticle.title}}</b>
    </a>
    </div>
    {% endfor %}
    {% endif %} 
    </div>
</div>
{% endblock body%}

找不到页面(404)

Request Method: GET
Request URL:    http://localhost:8000/aba/R%C3%BCyada%20Aba%20G%C3%B6rmek
Using the URLconf defined in blog.urls, Django tried these URL patterns, in this order:

admin/
[name='index']
articles/
user/
dreamarticle/
The current path, aba/Rüyada Aba Görmek, didn't match any of these.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

0 个答案:

没有答案