python入门19-1练习,制作一个blog

本文档介绍了一个使用Django框架构建的博客项目,包括创建BlogPost模型,实现表单处理,视图及URL配置,以及模板页面如index、new_blog和edit_blog。在实践中遇到一个问题,当尝试访问edit_blog页面时出现NoReverseMatch错误,可能的原因是URL反向解析失败。详细错误信息指向了Django的resolvers.py文件,表明缺少正确的URL模式匹配。
摘要由CSDN通过智能技术生成

python入门19-1练习,制作一个blog

题目:新建一个Django 项目,将其命名为Blog。在这个项目中,创建一个名为blogs 的应用程序,并在其中创建一个名为BlogPost 的模型。这个模型应包含title、text 和date_added 等字段。为这个项目创建一个超级用户,并使用管理网站创建几个简短的帖子。创建一个主页,在其中按时间顺序显示所有的帖子。创建两个表单,其中一个用于发布新帖子,另一个用于编辑既有的帖子。尝试填写这些表单,确认它们能够正确地工作。

模型部分 models.py

from django.db import models

# Create your models here.

class BlogPost(models.Model):
	'''博客页面'''
	title = models.CharField(max_length=200)
	text = models.TextField()
	date_added = models.DateTimeField(auto_now_add=True)
	
	def __str__(self):
		'''返回模型的字符串表示'''
		return self.title 

表单部分 forms.py

from django import forms
from .models import BlogPost
class BlogForm(forms.ModelForm):
	class Meta:
		model = BlogPost
		fields = ['title','text']

视图部分 views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.urls import reverse

from .models import BlogPost
from .forms import BlogForm
# Create your views here.
def index(request):
	"""blog的主页"""
	return render(request, 'blogs/index.html')

def blogs(request):
	'''显示所有的blog'''
	blogs = BlogPost.objects.order_by('date_added')
	context = {
   'blogs':blogs}
	return render(request,'blogs/blogs.html',context)

def blog(request,blog_id):
	'''显示单个博客主题及其内容'''
	blog = BlogPost
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值