性夜影院午夜看片,无码精品久久一区二区三区,婷婷成人丁香五月综合激情,校园春色 qvod,性调教室高h学校

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

引導(dǎo)關(guān)注商務(wù)學(xué)習(xí)

本文是由馬哥教育金牌講師小智的文字分享《如何快速搭建一個(gè)博客》整理而來(lái)。

1.django簡(jiǎn)介

Django是一個(gè)開(kāi)放源代碼的Web應(yīng)用框架,由Python寫成。采用了MVC的框架模式,即模型M,視圖V和控制器C。它最初是被開(kāi)發(fā)來(lái)用于管理勞倫斯出版集團(tuán)旗下的一些以新聞內(nèi)容為主的網(wǎng)站的,即是CMS(內(nèi)容管理系統(tǒng))軟件。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時(shí)的吉普賽爵士吉他手Django Reinhardt來(lái)命名的。
Django是一個(gè)基于MVC構(gòu)造的框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以Django 里更關(guān)注的是模型(Model)、模板(Template)和視圖(Views),稱為MTV模式。
Django適合快速開(kāi)發(fā)web開(kāi)發(fā)。
1.1 Django的結(jié)構(gòu)模型
層次
職責(zé)

模型(Model)數(shù)據(jù)存取層
處理與數(shù)據(jù)相關(guān)的所有事務(wù): 如何存取、如何驗(yàn)證有效性、包含哪些行為以及數(shù)據(jù)之間的關(guān)系等。

視圖(View)表現(xiàn)層
處理與表相關(guān)的決定: 如何在頁(yè)面或其他類型文檔中進(jìn)行顯示。

模板(Template),業(yè)務(wù)邏輯層
存取模型及調(diào)取恰當(dāng)模板的相關(guān)邏輯。模型與模板的橋梁。

1.2 Django相關(guān)依賴的環(huán)境和安裝
1.準(zhǔn)備一個(gè)Linux的虛擬機(jī)
2.安裝一個(gè)pyenv:具體安裝的方法看這里
http://www.yulongjun.com/Python/20170507-02-pyenv-centos/
3.通過(guò)pyenv 安裝一個(gè)Python3.6.2
pyenv install 3.6.2
4.使用pip安裝:
pip install django==1.11
pip install mysqlclient
5.安裝mysql數(shù)據(jù)庫(kù)
1.3 Django的簡(jiǎn)單配置
新建一個(gè)項(xiàng)目:
django-admin startproject blog
在項(xiàng)目里面新建一個(gè)app和相關(guān)的模版靜態(tài)文件:
cd blog
Python manage.py startapp ariclte
mkdir templates
mkdir static
mkdir media
配置相關(guān)的設(shè)置
cd blog
vim settings.py
vim urls.py
settings.py配置

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

urls.py配置

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

2.Django操作數(shù)據(jù)庫(kù)

2.1 Django里面主要使用orm來(lái)操作數(shù)據(jù)庫(kù)
我們來(lái)看下什么是orm
使用orm有什么好處
Dajngo的orm-model
1.什么是ORM?
ORM,即Object-Relational Mapping(對(duì)象關(guān)系映射),它的作用是在關(guān)系型數(shù)據(jù)庫(kù)和業(yè)務(wù)實(shí)體對(duì)象之間作一個(gè)映射,這樣,我們?cè)诰唧w的操作業(yè)務(wù)對(duì)象的時(shí)候,就不需要再去和復(fù)雜的SQL語(yǔ)句打交道,只需簡(jiǎn)單的操作對(duì)象的屬性和方法。
2.ORM的優(yōu)缺點(diǎn)是什么?
優(yōu)點(diǎn):擺脫復(fù)雜的SQL操作,適應(yīng)快速開(kāi)發(fā);讓數(shù)據(jù)結(jié)構(gòu)變得簡(jiǎn)潔;數(shù)據(jù)庫(kù)遷移成本更低(如從mysql->oracle)
缺點(diǎn):性能較差、不適用于大型應(yīng)用;復(fù)雜的SQL操作還需通過(guò)SQL語(yǔ)句實(shí)現(xiàn)
2.2 Blog的數(shù)據(jù)結(jié)構(gòu)
blog的常用的數(shù)據(jù)結(jié)構(gòu):
文章,分類,評(píng)論,注冊(cè)
一般來(lái)說(shuō)一個(gè)blog至少包含這4個(gè)表
我們今天只寫文章表和分類表
大家可以先自己想下:
文章表和分類表包含的字段是哪些?
文章和分類是什么關(guān)系?
文章和用戶又是什么關(guān)系?
表之間是否需要外鍵進(jìn)行關(guān)聯(lián)?
表之間的關(guān)系:
一個(gè)用戶可以發(fā)表多篇文章
一個(gè)分類里面也多篇文章
分類和用戶沒(méi)有直接的關(guān)系
理清這些之后,現(xiàn)在開(kāi)始編寫對(duì)應(yīng)的model模型
2.3 編寫models.py

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

2.4 創(chuàng)建和同步數(shù)據(jù)庫(kù)

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

3.Admin

3.1 admin
1.django自帶一個(gè)admin的后臺(tái),只需要簡(jiǎn)單的配置就能讓我們快速的使用,這是django的一個(gè)強(qiáng)大之處。
2.配置admin.py之前,需要先了解一下admin的用法
需要繼承admin.ModelAdmin
list_display:admin 后臺(tái)顯示的字段
search_fields:admin 后臺(tái)查詢的字段
fields:允許修改的字段
actions: 禁用的操作
admin.site.register: 關(guān)聯(lián)model和admin
3.2 編寫admin

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

4.djangod的視圖

4.1 Django的視圖
Django有很多的優(yōu)秀的視圖:
View
DetailView
ListView
FormView
CreateView
DeleteView
UpdateView
我們的blog里面暫時(shí)只用到了ListView和DetailView
4.2 使用dajngo自帶的ListView
v 編寫app的views.py

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

4.3 使用django自帶的DetailView

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

4.4 配置app的urls.py

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

4.5 啟用django

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

訪問(wèn)admin后臺(tái)

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

填充相關(guān)的信息

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

5.配置相關(guān)的模板

5.1 配置app的模板
1.把模板的index.html放到templates里面
2.模板的css,js,images,fonts,kindeditor放到static里面
3.模版聲明:此模版來(lái)自http://www.lushaozhen.com/

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

5.2 模版繼承-base.html
1.首先新建一個(gè)base.html
聲明模版
第一行:{% load staticfiles %}
2.block
母版html中將一些需要替換的部分用{%block xxx %}。。。{%endblock %}括起來(lái)

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

模版繼承-index.html

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

模版繼承-detail.html

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

5.3 前端展示-列表頁(yè)面

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog
【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

5.4 前端展示-詳情頁(yè)

【大咖講堂-174期】十分鐘學(xué)會(huì)用Django快速搭建一個(gè)blog

作者:原百度時(shí)代有限公司福州研發(fā)分公司移動(dòng)云事業(yè)部高級(jí)運(yùn)維開(kāi)發(fā)工程師,現(xiàn)福建某文化發(fā)展有限公司技術(shù)經(jīng)理,從事4年的Python開(kāi)發(fā)和Pythonweb開(kāi)發(fā),擅長(zhǎng)團(tuán)隊(duì)協(xié)作,性格開(kāi)朗,愛(ài)分享。

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!