亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

引導關(guān)注商務學習

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

1.django簡介

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

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

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

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

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

urls.py配置

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

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

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

3.Admin

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

4.djangod的視圖

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

4.3 使用django自帶的DetailView

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

4.4 配置app的urls.py

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

4.5 啟用django

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

訪問admin后臺

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

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

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

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

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

模版繼承-index.html

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

模版繼承-detail.html

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

5.3 前端展示-列表頁面

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog
【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

5.4 前端展示-詳情頁

【大咖講堂-174期】十分鐘學會用Django快速搭建一個blog

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

相關(guān)新聞

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