文章目录
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