【发布时间】:2021-04-26 22:10:45
【问题描述】:
嗨,我正在尝试制作博客网站,但是当我在 views.py 中使用 blogpost 函数获取模型时,它显示错误,即找不到 404 页面,如 ||使用 mac.urls 中定义的 URLconf,Django 尝试了这些 URL模式,按以下顺序: admin/ shop/ blog/ [name='BlogHome'] blog 当前路径 blog/blogpost 与其中任何一个都不匹配。 ||
-直到我不创建模型它工作正常但是在创建模型并尝试通过 post_id 获取文章后它会抛出错误,因为找不到页面! -我错过了什么? - 这是我正在使用的代码。
blog/urls.py 的代码 ->
from django.urls import path
from . import views
urlpatterns = [
path(" ", views.index, name="ShopHome"),
path("blogpost/<int:id>/", views.blogpost, name="blogpost")]
blog/Views.py 的代码 ->
from django.shortcuts import render
from .models import Blog
# Create your views here.
from django.http import HttpResponse
def index(request):
return render(request, 'blog/index.html')
def blogpost(request,id):
post= Blog.objects.filter (post_id=id)[0]
print(post)
return render(request, 'blog/blogpost.html',{'post':post})
blog/adminpy 的代码 ->
from django.contrib import admin
from .models import Blog
admin.site.register(Blog)
blog/models.py 的代码 ->
from django.db import models
# Create your models here.
class Blog(models.Model):
post_id = models.AutoField(primary_key= True)
title = models.CharField(max_length=50)
title0 = models.CharField(max_length=500,default='')
title1= models.CharField(max_length=500,default='')
title2= models.CharField(max_length=500,default='')
Content_title= models.CharField(max_length=500,default='')
Content_title0= models.CharField(max_length=500,default='')
Content_title1= models.CharField(max_length=500,default='')
Content_title2= models.CharField(max_length=500,default='')
pub_date = models.DateField()
image = models.ImageField(upload_to='shop/images', default="")
def __str__(self):
return self.title
【问题讨论】:
-
请发布实际代码而不是代码截图
-
在 url 中包含了 ' / ' 但没有得到相同的错误日志/blogpost/
/ [name='blogpost'] 当前路径,blog/blogpost/,这些都不匹配。 -
因为您实际上必须在您的 url 中添加一个现有 blogpost 实例的 pk,请在下面查看我的答案
标签: python django web model blogs