運用Django、MySQL、HTML、JS、Ajax模擬開發博客系統(5)

完成功能當沒有登錄的時候是訪問不到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)

如今咱們就能夠登錄後發佈博客並保存到數據庫中

若有錯誤之處,歡迎評論指出

相關文章
相關標籤/搜索