潭州課堂25班:Ph201805201 django 項目 第一課 (課堂筆記)

 

1、Django 現狀

 

一、Django開發前景

 
1.1 老師作過的項目
 

​ 項目圖展現:css

 

 

 

 

 
1.2 Django的厲害之處
  • 在python中,與web開發環境相關的包有13045html

  • django就佔了9091個,大約70%前端

  • 在python中,活躍的web框架多達54個,其中最活躍的有,DjangoFlaskPyramidZopepython

  • 最受歡迎的就是Django,沒有之一mysql

  • 超過5263箇中大型網站使用Django開發jquery

 
1.3 哪些公司在使用Django?
 

二、版本

 
  • 1.11(2017年4月發佈,支持python2.7,在2020全面推行python3以後,將再也不提供服務)程序員

  • 2.0-2.1(2.0版本,2017年12月發佈,只支持python3,將長期支持,向下兼容)github

  • 2.0主要在一下方面作了改進:

    • 簡化url路由語法

    • 更友好的admin站點

    • auth支持更高強度的加密算法(PBKDF2)

    • runserver支持HTTP 1.1

 

2、開發流程

 

​ 本項目,咱們會盡可能模擬真實web開發場景來說解項目,在你們工做以後能馬上融入到開發團隊中。

 

​ 開發流程圖以下圖所示:

 

 

 

 

3、需求分析

 

一、網站類型

 

​ 本項目主要完成一個我的新聞博客類網站,用於知識分享,交友互動等

 

二、主頁模塊

  • 輪播圖

  • 熱門文章推薦

  • 文章標籤、文章列表(可加載更多)

  • 左側廣告展現

  • 我的聯繫方式

 

三、用戶模塊

  • 註冊

    • 短信驗證碼(雲通訊平臺)

    • 圖片驗證碼

  • 登陸

    • 用戶名和手機號登陸

    • 第三方登陸(可能會拓展QQ、微信登陸等)

  • 我的中心頁

 

四、在線視頻模塊

 

​ 實如今線播放視頻功能,用於福利課視頻展現等。

 

五、文件下載模塊

 

​ 實現相關資源共享,如課件筆記等。

 

六、搜索模塊

 

​ 使用流行的elasticsearch收縮引擎框架,實現網站資源快速搜索定位功能。

 

七、後臺管理模塊

  • 文章標籤管理

  • 文章發佈

  • 文章管理

  • 熱門文章管理

  • 主頁輪播圖管理

  • 課程發佈

  • 文檔上傳

  • 帳號管理

 

4、項目架構

 

一、網站開發模式

 

 先後端部分分離的開發模式

 

二、前端技術

 

​ html + css + js + jquery(ajax)

 

三、後端技術

 

​ Django2.1 + Django restframework + mysql + redis + celery(可能會拓展) + elaticsearch + nginx + uwsgi

 

 

技術點 說明
Mysql 雙機熱備、讀寫分離
redis session緩存、圖片驗證碼、短信驗證碼
elaticsearch 站內搜索
celery 異步發送短信

 

 

 

 

 

 

 

 

 

1. Markdown是什麼?

 

Markdown是一種輕量級標記語言,它以純文本形式(易讀、易寫、易更改)編寫文檔,並最終以HTML格式發佈。
Markdown也能夠理解爲將以MARKDOWN語法編寫的語言轉換成HTML內容的工具。

 

2. 誰創造了它?

 

它由Aaron SwartzJohn Gruber共同設計,Aaron Swartz就是那位於去年(2013年1月11日)自殺,有着開掛通常人生經歷的程序員。維基百科對他的介紹是:軟件工程師、做家、政治組織者、互聯網活動家、維基百科人

 

他有着足以讓你跪拜的人生經歷:

  • 14歲參與RSS 1.0規格標準的制訂。

  • 2004年入讀斯坦福,以後退學。

  • 2005年建立Infogami,以後與Reddit合併成爲其合夥人。

  • 2010年創立求進會(Demand Progress),積極參與禁止網絡盜版法案(SOPA)活動,最終該提案被撤回。

  • 2011年7月19日,因被控從MIT和JSTOR下載480萬篇學術論文並以避免費形式上傳於網絡被捕。

  • 2013年1月自殺身亡。

 

 

Aaron Swartz

Aaron Swartz

 

 

天才都有早逝的歸途。

 

3. 爲何要使用它?

  • 它是易讀(看起來舒服)、易寫(語法簡單)、易更改純文本。到處體現着極簡主義的影子。

  • 兼容HTML,能夠轉換爲HTML格式發佈。

  • 跨平臺使用。

  • 愈來愈多的網站支持Markdown。

  • 更方便清晰地組織你的電子郵件。(Markdown-here, Airmail)

  • 擺脫Word(我不是認真的)。

 

4. 怎麼使用?

 

若是不算擴展,Markdown的語法絕對簡單到讓你愛不釋手。

 

Markdown語法主要分爲以下幾大部分:
標題段落區塊引用代碼區塊強調列表分割線連接圖片反斜槓 \符號'`'

 

4.1 標題

 

兩種形式:
1)使用=-標記一級和二級標題。

一級標題
=========
二級標題
---------

 

效果:

一級標題

二級標題

 

2)使用#,可表示1-6級標題。

# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題

 

效果:

一級標題

二級標題

三級標題

四級標題

五級標題
六級標題
 

4.2 段落

 

段落的先後要有空行,所謂的空行是指沒有文字內容。若想在段內強制換行的方式是使用兩個以上空格加上回車(引用中換行省略回車)。

 

4.3 區塊引用

 

在段落的每行或者只在第一行使用符號>,還可以使用多個嵌套引用,如:

> 區塊引用
>> 嵌套引用

 

效果:

區塊引用

嵌套引用

 

4.4 代碼區塊

 

代碼區塊的創建是在每行加上4個空格或者一個製表符(如同寫代碼同樣)。如
普通段落:

 

void main()
{
​ printf("Hello, Markdown.");
}

 

代碼區塊:

void main()
{
    printf("Hello, Markdown.");
}
 

注意:須要和普通段落之間存在空行。

 

4.5 強調

 

在強調內容兩側分別加上*或者_,如:

*斜體*,_斜體_
**粗體**,__粗體__

 

效果:

斜體斜體
粗體粗體

 

4.6 列表

 

使用·+、或-標記無序列表,如:

-(+*) 第一項
-(+*) 第二項
- (+*)第三項

 

注意:標記後面最少有一個_空格_或_製表符_。若不在引用區塊中,必須和前方段落之間存在空行。

 

效果:

  • 第一項

  • 第二項

  • 第三項

 

有序列表的標記方式是將上述的符號換成數字,並輔以.,如:

1 . 第一項
2 . 第二項
3 . 第三項

 

效果:

  1. 第一項

  2. 第二項

  3. 第三項

 

4.7 分割線

 

分割線最常使用就是三個或以上*,還可使用-_

 

4.8 連接

 

連接能夠由兩種形式生成:行內式參考式
行內式

[younghz的Markdown庫](https:://github.com/younghz/Markdown "Markdown")。

 

效果:

younghz的Markdown庫

 

參考式

[younghz的Markdown庫1][1]
[younghz的Markdown庫2][2]
[1]:https:://github.com/younghz/Markdown "Markdown"
[2]:https:://github.com/younghz/Markdown "Markdown"

 

效果:

younghz的Markdown庫1
younghz的Markdown庫2

 

注意:上述的[1]:https:://github.com/younghz/Markdown "Markdown"不出如今區塊中。

 

4.9 圖片

 

添加圖片的形式和連接類似,只需在連接的基礎上前方加一個

 

4.10 反斜槓\

 

至關於反轉義做用。使符號成爲普通符號。

 

4.11 符號'`'

 

起到標記做用。如:

`ctrl+a`

 

效果:

ctrl+a

 

5. 誰在用?

 

Markdown的使用者:

  • GitHub

  • 簡書

  • Stack Overflow

  • Apollo

  • Moodle

  • Reddit

  • 等等

 

6. 嘗試一下

  • Chrome下的插件諸如stackeditmarkdown-here等很是方便,也不用擔憂平臺受限。

  • 在線的dillinger.io評價也不錯

  • Windowns下的MarkdownPad也用過,不過免費版的體驗不是很好。

  • Mac下的Mou是國人貢獻的,口碑很好。

  • Linux下的ReText不錯。

 

固然,最終境界永遠都是筆下是語法,心中格式化 :)。


 

注意:不一樣的Markdown解釋器或工具對相應語法(擴展語法)的解釋效果不盡相同,具體可參見工具的使用說明。
雖然有人想出面搞一個所謂的標準化的Markdown,[沒想到還惹怒了健在的創始人John Gruber]
(http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/)。


 

以上基本是全部traditonal markdown的語法。

 

其它:

 

列表的使用(非traditonal markdown):

 

|表示表格縱向邊界,表頭和表內容用-隔開,並可用:進行對齊設置,兩邊都有:則表示居中,若不加:則默認左對齊。

代碼庫 連接
MarkDown https://github.com/younghz/Markdown
MarkDownCopy https://github.com/younghz/Markdown
 

關於其它擴展語法可參見具體工具的使用說明。

相關文章
相關標籤/搜索