完成功能当没有登陆的时候是访问不到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里编写以下代码
Title欢迎{{ user.username }}发布博客...
{{ msg }}
{% csrf_token %}
标题:
内容:
在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)
现在我们就可以登陆后发布博客并保存到数据库中
如有错误之处,欢迎评论指出