完成功能当没有登录的时候是访问不到a.html的必需要登录才能看到html
咱们建立两个页面,放在welcome,中一个a.html,一个b.htmlpython
接着在 views.py中写函数数据库
在welcome.html中添加代码并在BlogUser/urls.py内配置路径django
完成发布博客系统(增删改查)session
在blog下新建一个名为BlogA的python包app
在BlogA里,咱们须要将BlogUser下的apps和admin粘贴到BlogA包下,修改apps内的name=‘BlogA’函数
在BlogA下新建models、urls和views,注意不要写错单词post
修改settings.py下 INSTALLED_APPSui
在BlogA下models建立一个模型url
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)
建立数据库表
操做完成以后咱们会发现数据库中已新增一个名为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> <span style="color: red">{{ msg }}</span> <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() ret={'msg':'发布成功','user':request.session.get('user')} return render(request,'fabu.html',ret)
如今咱们就能够登录后发布博客并保存到数据库中
若有错误之处,欢迎评论指出