婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用Python Django實現簡單博客系統

利用Python Django實現簡單博客系統

熱門標簽:激戰2地圖標注 陜西金融外呼系統 哈爾濱ai外呼系統定制 唐山智能外呼系統一般多少錢 海南400電話如何申請 公司電話機器人 白銀外呼系統 廣告地圖標注app 騰訊外呼線路

第一節 - 基礎

1. 簡單的導覽圖,學會不迷路

對 Django 的評價:借用李清照的《鷓鴣天 桂花》來表達,

暗淡輕黃體性柔。情疏跡遠只香留。何須淺碧深紅色,自是花中第一流。
梅定妒,菊應羞。畫闌開處冠中秋。騷人可煞無情思,何事當年不見收。

Django makes it easier to build better Web apps more quickly and with less code.

  • 容易上手,開發速度快
  • 囊括了網站開發中的用戶管理,內容管理,網站地圖,RSS等常用的插件
  • 安全性強,解決了 SQL 注入,跨站攻擊等問題
  • 應用廣泛

2. 基本操作介紹

  • 安裝:pip install Django
  • 創建項目:django-admin startproject mysite
  • 運行項目:python manage.py runserver
  • 創建應用:python manage.py startapp blog

3. 命令簡單介紹

  •  django-admin.py :django 的任務管理命令行工具
  • manage.py :對django-admin 的簡單封裝,同樣可以實現命令行操作(最好對于該文件不要修改,也不要刪除)

4. mysite:所建項目的管理功能目錄

  • setting.py :項目初始化配置,可以針對整個項目進行有關參數的配置,比如數據庫,添加應用等
  • urls.py :url 的配置表文件,主要是將url映射到應用程序上。可以是某個應用中的urls.py 文件,也可以是某個具體的視圖函數。被稱之為 URLconf,是 Django 一個非常強大的特性。
  • wsgi.py :web server gateway interface 的縮寫。wsgi.py 定義了我們所創建的項目都是 wsgi 應用。

5. blog:我們創建的項目之一

  • admin.py :自定義 Django 管理工具,比如設置在管理界面能夠管理的項目,或者重新定義與系統管理有關的類對象,向管理功能增加新的內容。
  • apps.py : 對應用的配置,比如為管理功能提供一個適合的應用名稱
  • migrations:存儲應用數據的表結構的指令,可以修改和創建數據庫,從而子 models.py 模型類和數據庫表之間遷移
  • models.py : 應用的數據模型
  • test.py : 編寫測試文檔
  • views.py : 用戶保存各種請求的函數或者類。如果編寫的是函數,則稱之為基于函數的視圖,如果編寫的是類,則稱之為基于類的視圖。

6. db.sqlite3 : 默認的數據庫

7. 網站配置:mysite/setting.py

  • DEBUG:開發的時候設置為 True。可以顯示具體的報錯信息。
  • ALLOWED_HOSTS:在 DEBUG 為 True 的時候,值可以為空。在部署到生產環境的時候,需要把主域名填寫到這里,才能通過域名訪問到本網站
  • INSTALLED_APPS: 所有的應用只有寫到這里才會生效。
  • DATABASES: 配置數據庫。默認為 sqlite
  • LANGUAGE_CODE: 設置姓名的語言。漢語設置為 ‘zh-hans'
  • TIME_ZONE: 設置時區,通常東八。 設置為:‘Aisa/Shanghai

第二節 - 博客開發

默認已經創建好的 django 的項目和應用,并將應用注冊到項目中

1. 編寫博客的數據模型類

設計數據庫和表結構是做網站的基礎。

在 ./blog/model.py 中編寫如下類

from django.db import models
from django.contrib.auth.models import User
# Create your models here.
from django.utils import timezone


class BlogArticles(models.Model):
    title = models.CharField(max_length=300)
    author = models.ForeignKey(User, related_name='blog_posts', null=True, on_delete=models.SET_NULL)
    body = models.TextField()
    publish = models.DateTimeField(default=timezone.now)

    class Meta:
        ordering = ('-publish', )

    def __str__(self):
        return self.title

創建model 參考參數:

一、字段
	1、models.AutoField  自增列= int(11)
	  如果沒有的話,默認會生成一個名稱為 id 的列,如果要顯示的自定義一個自增列,必須將				給列設置為主鍵 primary_key=True。
	2、models.CharField  字符串字段
	  必須 max_length 參數
	3、models.BooleanField  布爾類型=tinyint(1)
	  不能為空,Blank=True
	4、models.ComaSeparatedIntegerField  用逗號分割的數字=varchar
	  繼承CharField,所以必須 max_lenght 參數
	5、models.DateField  日期類型 date
	  對于參數,auto_now =True則每次更新都會更新這個時間;auto_now_add 則只是第一次創建添加,之后的更新不再改變。
	6、models.DateTimeField  日期類型 datetime
	  同DateField的參數
	7、models.Decimal  十進制小數類型= decimal
	  必須指定整數位max_digits和小數位decimal_places
	8、models.EmailField  字符串類型(正則表達式郵箱)=varchar
	  對字符串進行正則表達式
	9、models.FloatField  浮點類型= double
	10、models.IntegerField  整形
	11、models.BigIntegerField  長整形
	  integer_field_ranges ={
	    'SmallIntegerField':(-32768,32767),
	    'IntegerField':(-2147483648,2147483647),
	    'BigIntegerField':(-9223372036854775808,9223372036854775807),
	    'PositiveSmallIntegerField':(0,32767),
	    'PositiveIntegerField':(0,2147483647),
	  }
	12、models.IPAddressField  字符串類型(ip4正則表達式)
	13、models.GenericIPAddressField  字符串類型(ip4和ip6是可選的)
	  參數protocol可以是:both、ipv4、ipv6
	  驗證時,會根據設置報錯
	14、models.NullBooleanField  允許為空的布爾類型
	15、models.PositiveIntegerFiel  正Integer
	16、models.PositiveSmallIntegerField  正smallInteger
	17、models.SlugField  減號、下劃線、字母、數字
	18、models.SmallIntegerField  數字
	  數據庫中的字段有:tinyint、smallint、int、bigint
	19、models.TextField  字符串=longtext
	20、models.TimeField  時間 HH:MM[:ss[.uuuuuu]]
	21、models.URLField  字符串,地址正則表達式
	22、models.BinaryField  二進制
	23、models.ImageField圖片
	24、models.FilePathField文件
二、字段參數
	1、null=True
	  數據庫中字段是否可以為空
	2、blank=True
	  django的 Admin 中添加數據時是否可允許空值
	3、primary_key = False
	  主鍵,對AutoField設置主鍵后,就會代替原來的自增 id 列
	4、auto_now 和 auto_now_add
	  auto_now 自動創建---無論添加或修改,都是當前操作的時間
	  auto_now_add 自動創建---永遠是創建時的時間
	5、choices
	GENDER_CHOICE = (
	(u'M', u'Male'),
	(u'F', u'Female'),
	)
	gender = models.CharField(max_length=2,choices = GENDER_CHOICE)
	6、max_length
	7、default  默認值
	8、verbose_name  Admin中字段的顯示名稱
	9、name|db_column  數據庫中的字段名稱
	10、unique=True  不允許重復
	11、db_index = True  數據庫索引
	12、editable=True  在Admin里是否可編輯
	13、error_messages=None  錯誤提示
	14、auto_created=False  自動創建
	15、help_text  在Admin中提示幫助信息
	16、validators=[]
	17、upload-to

2. 生成數據庫遷移文件創建數據表

# 命令行執行
# 創建數據庫表遷移文件
python manage.py makemigrations
# 查看遷移文件
python manage.py sqlmigrate blog 0001

然后會發現在migrations文件夾下生成了以0001開頭的py文件,在命令行會輸出我們的建表語句(sql)

# 生成數據表
python manage.py migrate

可以在 navicate 中連接 db.sqlite 進行數據的查看。

3. 創建超級管理員

python manage.py createsuperuser

跟著步驟就可以了,創建超級管理員的賬號和密碼。一定牢記嗷~

啟動項目后訪問 http://127.0.0.1:8000/admin/
然后就可以進入頁面啦

頁面中的 Groups 和 Users 是 Django 在用戶管理應用中默認的。

4. 發布博客文章

我們登陸進來之后沒有找到發布文章的地方,為什么呢?

接下來就需要我們對 ./blog/admin.py 文件做修改了。

from django.contrib import admin
from .models import BlogArticles
# 將該類BlogArticles注冊到admin中
admin.site.register(BlogArticles)

再次返回我們的 http://127.0.0.1:8000/admin/ 就可以進行文章的添加了。

5. 顯示博客信息

我們寫好的文章如果想讓別人看到,如何做呢?

在templates目錄下創建一個文件base.html 和一個blog文件夾,里面有 title.html , content.html 文件

文件內容如下:

# base.html
!DOCTYPE html>
html lang="zh-cn">
head>
    meta http-equiv="X-UA-Compatible" content="IE=Edge">
    meta charset="utf-8">
    meta name="viewport" content="width=device-width, initial-scale=l">
    title>{% block title %}{% endblock %}/title>
    link rel="stylesheet"  rel="external nofollow" >
    link rel="stylesheet"  rel="external nofollow" >
/head>
body>
div class="container">
    {% block content %}
    {% endblock %}
/div>
/body>
script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js">/script>
/html>

# title.html
{% extends "base.html" %}

{% block title %}
    博客標題
{% endblock %}

{% block content %}
    div class="row text-center vertical-middle-sm">
        h1>小北的博客/h1>
    /div>

    div class="row">
        div class="col-xs-12 col-mo-8">
            ul>
                {% for blog in blogs %}
                    li>
                        a href="{{ blog.id }}" rel="external nofollow" >{{ blog.title }}/a>

                    /li>
                {% endfor %}
            /ul>
        /div>
        div class="col-xs-6 col-mo-4">
            h2>廣告/h2>
            p>和我一起學python/p>
        /div>
    /div>
{% endblock %}
# content.html
{% extends "base.html" %}

{% block title %}
    博客內容
{% endblock %}

{% block content %}
    div class="row text-center vertical-middle-sm">
        h1>{{ article.title }}/h1>
    /div>

    div class="row">
        div class="col-xs-12 col-mo-8">
            div>
                p>{{ article.author.username }}/p>
                p>{{ publish }}/p>
                p>{{ article.body }}/p>
            /div>
        /div>
        div class="col-xs-6 col-mo-4">
            h2>廣告/h2>
            p>和我一起學python/p>
        /div>
    /div>
{% endblock %}

一定要在 templates 下創建,這是Django 默認的存放本應用所需模版的目錄

圖為示例結構

在./blog/views.py 中編寫視圖函數

from django.shortcuts import render
from .models import BlogArticles
# Create your views here.


def blog_title(request):
    blogs = BlogArticles.objects.all()

    return render(request, "blog/title.html", {"blogs": blogs})

def blog_aritcle(request, article_id):
    article = BlogArticles.objects.get(id=article_id)
    pub = article.publish

    return render(request, "blog/content.html", {"article": article, "publish": pub})

在url中注冊路由地址

在 blog/urls.py 中

from django.conf.urls import url
from . import views
from django.urls import path
from blog.views import *


urlpatterns = [
    path('title', blog_title, name='blog_title'),
    path('int:article_id>', blog_aritcle, name='blog_aritcle'),
]

在當前項目下的urls.py 中

from django.contrib import admin
from django.urls import path
from django.conf.urls import url, include

urlpatterns = [
    path('admin/', admin.site.urls, name='admin'),
    path('blog/', include('blog.urls')),

]

然后頁面就可以訪問了,可以查看文章列表頁和詳情頁。

到此這篇關于利用Python Django實現簡單博客系統的文章就介紹到這了,更多相關Django實現博客系統內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 一篇文章帶你自學python Django
  • python之django路由和視圖案例教程
  • python Django框架快速入門教程(后臺管理)
  • Python django中如何使用restful框架
  • Python Django ORM連表正反操作技巧
  • Python Django 后臺管理之后臺模型屬性詳解
  • python之Django自動化資產掃描的實現
  • python Django的顯示個人信息詳解

標簽:常德 黑龍江 鷹潭 益陽 上海 惠州 黔西 四川

巨人網絡通訊聲明:本文標題《利用Python Django實現簡單博客系統》,本文關鍵詞  利用,Python,Django,實現,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用Python Django實現簡單博客系統》相關的同類信息!
  • 本頁收集關于利用Python Django實現簡單博客系統的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    午夜精品福利一区二区三区蜜桃| 国产精品成人免费 | 亚洲精品中文在线影院| 在线精品观看国产| 国产精品色哟哟| 51午夜精品国产| 亚洲美女淫视频| 欧美综合色免费| 国产精品99久久久| 中文字幕一区二区三区不卡在线| 不卡视频一二三| 激情图片小说一区| 午夜精品久久久久久久久久| 激情图片小说一区| 亚洲福利一二三区| 久久成人免费网站| 国产河南妇女毛片精品久久久| 成人ar影院免费观看视频| 91福利在线观看| 亚洲精品视频在线观看免费| 国产精品一区二区免费不卡| 欧美片网站yy| 午夜精品成人在线视频| 大胆欧美人体老妇| 成人国产精品免费网站| 国产一区在线视频| 国产日产欧美一区二区三区| 97精品电影院| 午夜精品视频一区| 日韩欧美视频一区| 不卡的电影网站| 亚洲精品伦理在线| 欧美日韩国产天堂| 亚洲欧洲综合另类| 国产精品996| 欧美一级生活片| 99久久精品国产导航| 国产精品一区二区视频| 日韩黄色免费电影| 91亚洲精华国产精华精华液| 在线成人高清不卡| 国产成人午夜电影网| 亚洲视频一区二区在线| 国产精品18久久久| jlzzjlzz欧美大全| 91蝌蚪国产九色| 精品一区二区综合| 久久99精品久久久久久| 国产亚洲1区2区3区| 蜜桃视频在线观看一区二区| 国产精品一区三区| 91免费国产视频网站| 国产大片一区二区| 欧洲国内综合视频| 91性感美女视频| 国产欧美日韩亚州综合 | 成人av免费在线| 卡一卡二国产精品| 激情综合色丁香一区二区| 久久综合成人精品亚洲另类欧美| 欧美性xxxxxxxx| 日韩久久免费av| 亚洲黄色片在线观看| 国产麻豆视频精品| 一本大道久久a久久综合婷婷| 国产精品99久久久久久久女警| 国产乱码精品1区2区3区| 欧洲精品一区二区| 国产激情一区二区三区四区| 91麻豆swag| 亚洲素人一区二区| 精品一区二区免费视频| 欧美理论在线播放| 久久久九九九九| 欧美理论电影在线| 成人免费不卡视频| 日韩色视频在线观看| 国产精品久久久久久久午夜片 | 国产.欧美.日韩| 精品国产一区久久| 91麻豆国产福利在线观看| 亚洲成年人影院| 2024国产精品| 国产91清纯白嫩初高中在线观看| 日韩欧美专区在线| 亚洲一区二区三区在线看| 亚洲免费观看高清完整版在线| 精品国产制服丝袜高跟| 色综合激情五月| 日韩写真欧美这视频| 欧美日韩午夜影院| 中文字幕一区二区视频| 91福利社在线观看| 久久福利资源站| 国产精品丝袜黑色高跟| 91网站最新网址| 日韩免费福利电影在线观看| 在线播放视频一区| a级精品国产片在线观看| 国产乱码精品一区二区三区五月婷| 日韩免费高清视频| 国产精品一区专区| 免费在线观看一区| 亚洲男同1069视频| 精品精品欲导航| 欧美三区在线视频| 26uuu国产一区二区三区| 亚洲精选一二三| 国产午夜精品久久| 国产成人综合精品三级| 天堂在线一区二区| 中文字幕免费不卡| 日韩亚洲欧美成人一区| 色狠狠色噜噜噜综合网| 免费在线观看日韩欧美| 欧美色偷偷大香| 久久久久国产精品厨房| 日本电影亚洲天堂一区| 久久97超碰色| 天堂影院一区二区| 午夜欧美在线一二页| 久久这里只有精品6| 欧美日韩一级二级| 日本精品一区二区三区高清 | 亚洲伦理在线免费看| 精品国精品国产| 亚洲va天堂va国产va久| 视频在线观看91| 亚洲人成亚洲人成在线观看图片 | 久久婷婷国产综合国色天香| 欧美日韩在线不卡| 国产日产精品一区| 精品国产乱码久久久久久夜甘婷婷| 91麻豆国产精品久久| 色综合视频一区二区三区高清| 久久精品国产精品亚洲红杏| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲一区二区三区四区五区黄 | 中文字幕一区二区三| 欧美不卡一区二区三区四区| 欧美成人一区二区| 日韩一区二区电影网| 亚洲电影第三页| 国产自产视频一区二区三区| 国产成人精品一区二| 东方欧美亚洲色图在线| 国产精品白丝jk黑袜喷水| 成人av免费在线播放| 51午夜精品国产| 亚洲人吸女人奶水| 国产成人午夜视频| av网站一区二区三区| 91精品国产色综合久久ai换脸 | 91精品婷婷国产综合久久| 精品成人一区二区三区| 欧美国产精品v| 亚洲妇女屁股眼交7| 国产精品一色哟哟哟| 91亚洲精华国产精华精华液| 欧美乱妇15p| 亚洲人午夜精品天堂一二香蕉| 色综合夜色一区| 日韩av一区二| 欧美日韩一区二区三区在线看 | 日韩精品福利网| 国产成人精品网址| 欧美日韩国产片| 一区二区三区成人| 一区二区三区日韩| 久久亚洲影视婷婷| 精品国产污污免费网站入口| 免费成人小视频| 日韩一区二区三区av| 亚洲第一福利视频在线| 一二三四社区欧美黄| 国产亚洲欧美一级| heyzo一本久久综合| 综合色天天鬼久久鬼色| 成人夜色视频网站在线观看| 国产精品网曝门| 91美女在线看| 久久精品一区四区| 国产精品天美传媒沈樵| 色88888久久久久久影院按摩| 久久精品亚洲一区二区三区浴池 | 欧美成人一级视频| 99久久精品99国产精品| 国产在线观看免费一区| 93久久精品日日躁夜夜躁欧美| 午夜电影一区二区| 日韩西西人体444www| 久久91精品久久久久久秒播| 亚洲福利视频导航| 亚洲精品视频在线观看免费| 日韩精品一区二区三区视频在线观看| 日韩黄色免费电影| 欧美日韩日日骚| 国产欧美日韩中文久久| 欧美视频一区二区三区在线观看| 亚洲人成电影网站色mp4|