完成功能当没有登陆的时候是访问不到a.html的必须要登陆才能看到
我们创建两个页面,放在welcome,中一个a.html,一个b.html
接着在 views.py中写函数
在welcome.html中添加代码并在BlogUser/urls.py内配置路径
完成发布博客系统(增删改查)
在blog下新建一个名为BlogA的python包
在BlogA里,我们需要将BlogUser下的apps和admin粘贴到BlogA包下,修改apps内的name=‘BlogA’
在BlogA下新建models、urls和views,注意不要写错单词
修改settings.py下 INSTALLED_APPS
在BlogA下models创建一个模型
-
from django.db import models from BlogUser.models import BlogUser # Create your models here. class Blog(models.Model): title=models.CharField(max_length=20,null=True) context = models.CharField(max_length=500,null=True) #默认当前时间 createDate = models.DateTimeField(null=True) #BlogUser.BlogUser app.modelname BlogUser = models.ForeignKey('BlogUser.BlogUser',on_delete=None)
创建数据库表
- 1、
- 2、
- 3、
操作完成之后我们会发现数据库中已新增一个名为bloga_blog的表
接下来我们需要创建一个发布博客的页面
首先,在welcome.html里增加一个发布博客的连接
在templates下新建一个名为fabu.html
在fabu.html里编写以下代码
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>欢迎{{ user.username }}发布博客...</h1> <form action="/BlogA/fabu" method="post"> {% csrf_token %} <p>标题:<input name="title" type="text" style="width: 500px"></p> <p>内容:<textarea name="context" style="width: 500px;height: 300px"> </textarea></p> <p><input type="submit" value="确认发布"></p> </form> </body> </html>
在blog下urls.py中配置路径
在BlogA下urls.py中配置路径
在BlogA下views.py中创建fabu函数
-
from django.shortcuts import render,redirect,reverse from .models import * from django.http import HttpResponse import time,datetime def fabu(request): user = request.session.get('user', None) if request.method=='GET': #进到BlogA中的发布 if user is not None: return render(request,'fabu.html',{'user': request.session.get('user', None)}) else: return render(request,'login.html') elif request.method=='POST': blogA=Blog() blogA.title=request.POST.get('title') blogA.context=request.POST.get('context') blogA.createDate=datetime.datetime.now() uid= request.session.get('user')['id'] bloguserset=BlogUser.objects.filter(pk=uid).all() blogA.BlogUser=bloguserset.first() blogA.save() return render(request,'fabu.html',{'msg':'发布成功'})
现在我们就可以登陆后发布博客并保存到数据库中