Django基礎(chǔ)概念和MVT架構(gòu)

Django簡介

  • Django : 發(fā)音為 [ `d???ɡ?? ]. 名稱來源于比利時爵士音樂家 Django Reinhardt
  • Python 語言寫的開源web開發(fā)框架, 發(fā)布于2005年7月.
  • Django 的主要目的是簡便钳恕、快速的開發(fā)數(shù)據(jù)庫驅(qū)動的網(wǎng)站.
  • Django 強調(diào)代碼復(fù)用, 多個組件可以很方便的以 “插件”形式服務(wù)于整個框架. 有許多功能強大的第三方插件.
  • Django 遵循MVC設(shè)計模式. 但是有一個專有名詞 :MVT
  • Django官方網(wǎng)站
  • Django源碼-GitHub
  • Django中文文檔

MVC介紹

  • MVC 全拼為Model-View-Controller
  • MVC 核心思想 : 解耦
    • 讓不同的模塊之間降低耦合, 增強代碼的可擴展性和可移植性, 實現(xiàn)更好的向后續(xù)版本的兼容
    • 開發(fā)原則 : 高內(nèi)聚, 低耦合
  • MVC 解析
    • M全拼為Model, 主要封裝對數(shù)據(jù)庫層的訪問, 內(nèi)嵌ORM框架, 實現(xiàn)面向?qū)ο蟮木幊虂聿僮鲾?shù)據(jù)庫.
    • V全拼為View, 用于封裝結(jié)果, 內(nèi)嵌了模板引擎, 實現(xiàn)動態(tài)展示數(shù)據(jù).
    • C全拼為Controller, 用于接收GET或POST請求, 處理業(yè)務(wù)邏輯, 與Model和View交互, 返回結(jié)果.
  • 當(dāng)前主流的開發(fā)語言如 Java、PHP榆纽、Python躺率、... 中都有MVC設(shè)計模式.
mvc

MVT介紹

  • MVT 全拼為Model-View-Template
  • MVT 核心思想 : 解耦
  • MVT 解析
    • M (模型)全拼為Model, 與MVC中的M功能相同, 負(fù)責(zé)數(shù)據(jù)處理, 內(nèi)嵌了ORM框架.
    • V (視圖)全拼為View, 與MVC中的C功能相同, 接收HttpRequest, 業(yè)務(wù)處理材部,返回HttpResponse.
    • T (模板)全拼為Template, 與MVC中的V功能相同, 負(fù)責(zé)封裝構(gòu)造要返回的html, 內(nèi)嵌了模板引擎.
  • MVT和MVC 差異就在于黑箭頭標(biāo)識出來的部分.
mvt

總結(jié)

學(xué)習(xí) Django, 重點就是研究 Model-View-Template 三個模塊間如何協(xié)同工作及各自模塊的代碼如何編寫妒峦。

補充

設(shè)計模式

  • 設(shè)計模式:是一套被反復(fù)使用寝贡、多數(shù)人知曉的扒披、經(jīng)過分類的、代碼設(shè)計經(jīng)驗的總結(jié)圃泡。
  • 使用設(shè)計模式的目的:為了代碼可重用性碟案、讓代碼更容易被他人理解、保證代碼可靠性洞焙。
  • 設(shè)計模式使代碼編寫真正工程化蟆淀。
  • 設(shè)計模式是軟件工程的基石脈絡(luò)拯啦,如同大廈的結(jié)構(gòu)一樣。

高內(nèi)聚熔任,低耦合

  • 耦合性:指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量褒链。

    • 模塊之間聯(lián)系越緊密,其耦合性就越強疑苔,模塊的獨立性則越差甫匹。
    • 模塊間耦合高低取決于模塊間接口的復(fù)雜性、調(diào)用的方式及傳遞的信息
  • 內(nèi)聚性:指模塊的功能強度的度量惦费,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量兵迅。

    • 若一個模塊內(nèi)各元素(語名之間、程序段之間)聯(lián)系的越緊密薪贫,則它的內(nèi)聚性就越高恍箭。

虛擬環(huán)境

為什么要搭建虛擬環(huán)境?

  • 在開發(fā)過程中, 當(dāng)需要使用python的某些工具包/框架時需要聯(lián)網(wǎng)安裝

    • 比如聯(lián)網(wǎng)安裝Django框架django1.8.2版本
  • 提示:使用如上命令, 會將django1.8.2安裝到/usr/local/lib/python版本/dist-packages路徑下

  • 問題 : 如果在一臺電腦上, 想開發(fā)多個不同的項目, 需要用到同一個包的不同版本, 如果使用上面的命令, 在同一個目錄下安裝或者更新, 新版本會覆蓋以前的版本, 其它的項目就無法運行了.

  • 解決方案 : 虛擬環(huán)境

    • 作用 : 虛擬環(huán)境可以搭建獨立的python運行環(huán)境, 使得單個項目的運行環(huán)境與其它項目互不影響.
    • 所有的虛擬環(huán)境都位于/home/下的隱藏目錄.virtualenvs

如何搭建虛擬環(huán)境?

  • 安裝虛擬環(huán)境的命令 :

    sudo pip install virtualenv
    sudo pip install virtualenvwrapper
    
  • 創(chuàng)建虛擬環(huán)境的命令 :

    • 提示:如果不指定python版本,默認(rèn)安裝的是python2的虛擬環(huán)境
    • 在python2中瞧省,創(chuàng)建虛擬環(huán)境
      mkvirtualenv 虛擬環(huán)境名稱
      例 :
      mkvirtualenv py_django
      
    • 在python3中扯夭,創(chuàng)建虛擬環(huán)境
      mkvirtualenv -p python3 虛擬環(huán)境名稱
      例 :
      mkvirtualenv -p python3 py3_django
      
    創(chuàng)建虛擬環(huán)境py3
  • 提示 :

    • 創(chuàng)建虛擬環(huán)境需要聯(lián)網(wǎng)
    • 創(chuàng)建成功后, 會自動工作在這個虛擬環(huán)境上
    • 工作在虛擬環(huán)境上, 提示符最前面會出現(xiàn) “虛擬環(huán)境名稱”

如何使用虛擬環(huán)境?

  • 查看虛擬環(huán)境的命令 :

     workon 兩次tab鍵
    
    查看虛擬環(huán)境
  • 使用虛擬環(huán)境的命令 :
     workon 虛擬環(huán)境名稱
    
      例 :使用python2的虛擬環(huán)境
      workon py_django
    
      例 :使用python3的虛擬環(huán)境
      workon py3_django
    
    使用虛擬環(huán)境py3
  • 退出虛擬環(huán)境的命令 :
    deactivate
    
退出虛擬環(huán)境py3.png
  • 刪除虛擬環(huán)境的命令 :
     rmvirtualenv 虛擬環(huán)境名稱
    
    例 :刪除虛擬環(huán)境py3_django
    
    先退出:deactivate
    再刪除:rmvirtualenv py3_django
    
刪除虛擬環(huán)境py3

如何在虛擬環(huán)境中安裝工具包?

  • python3版本下安裝django1.8.2的包 :
      pip install 包名稱
    
      例 : 安裝django1.8.2的包
    pip install django==1.8.2
    
    安裝django在py3
  • 工具包安裝的位置 :

    • python2版本下:
      • ~/.virtualenvs/py_django/lib/python2.7/site-packages/
    • python3版本下:
      • ~/.virtualenvs/py3_django/lib/python3.5/site-packages
  • 查看虛擬環(huán)境中安裝的包 :

    pip freeze
    
    查看虛擬環(huán)境下安裝的包

創(chuàng)建Django項目

  • 在Django項目中,項目的組織結(jié)構(gòu)為:一個項目包含多個應(yīng)用鞍匾,一個應(yīng)用對應(yīng)一個業(yè)務(wù)模塊交洗。
  • 示例:創(chuàng)建項目的名稱為BookManager,創(chuàng)建應(yīng)用名稱為Book橡淑,完成圖書信息的維護构拳。
  • 提示:在當(dāng)前用戶的某個目錄下創(chuàng)建項目,這樣不會發(fā)生權(quán)限問題梁棠。

創(chuàng)建項目

  • ~/Desktop/.../目錄下創(chuàng)建項目BookManager

    例 : 在桌面創(chuàng)建項目
    cd ~/Desktop/
    
  • 創(chuàng)建項目的命令:

    • 創(chuàng)建好項目就可以使用PyCharm打開置森。
      django-admin startproject 項目名稱
      例 :創(chuàng)建項目BookManager
      django-admin startproject BookManager
      
  • 項目結(jié)構(gòu)

    項目結(jié)構(gòu).png
    • BookManager :是與項目同名的文件,內(nèi)部包含如下項目的配置文件掰茶。
      • init.py:是表示文件BookManager可以被視為包使用暇藏。
      • settings.py :是項目的整體配置文件。
      • urls.py:是項目的URL配置文件濒蒋。
      • wsgi.py:是項目與WSGI兼容的Web服務(wù)器入口盐碱。
    • manage.py :是項目運行的入口,指定配置文件路徑沪伙。

創(chuàng)建應(yīng)用

  • BookManager項目中瓮顽,創(chuàng)建應(yīng)用Book

     cd BookManager/
    python manage.py startapp Book
    
  • 項目結(jié)構(gòu)

    創(chuàng)建應(yīng)用
    • admin.py :是后臺的站點管理注冊文件。
    • init.py:是表示文件Book可以被視為包使用围橡。
    • migrations :是做模型遷移的暖混。
    • models.py:是處理數(shù)據(jù)的。MVT中的M
    • tests.py :是做測試用的翁授。
    • views.py:是處理業(yè)務(wù)邏輯的拣播。MVT中的V

選擇并添加對應(yīng)虛擬環(huán)境下的python

  • 虛擬環(huán)境py_django下的python
    which python
    
    結(jié)果:
    /home/python/.virtualenvs/py_django/bin/python
    
  • 虛擬環(huán)境py3_django下的python
    which python
    
    結(jié)果:
    /home/python/.virtualenvs/py3_django/bin/python
    
![選取并添加python3](https://upload-images.jianshu.io/upload_images/2760539-ca06df99e8eaaf42.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

安裝應(yīng)用

  • 安裝應(yīng)用前

    安裝應(yīng)用前
  • 安裝應(yīng)用后


    安裝應(yīng)用后.png

測試服務(wù)器

  • 在開發(fā)階段晾咪,為了能夠快速預(yù)覽到開發(fā)的效果,Django提供一個純Python編寫的輕量級web服務(wù)器贮配,

    • 僅在開發(fā)階段使用谍倦,非正式服務(wù)器
  • 運行測試服務(wù)器的命令:

    python manage.py runserver ip:端口
    
    python manage.py runserver 172.16.21.25:8001
    對應(yīng):
    http://172.16.21.25:8001/
    
  • ip和端口號可以不寫,默認(rèn)ip為127.0.0.1泪勒;端口號為8000昼蛀。

    python manage.py runserver
    對應(yīng):
    http://127.0.0.1:8000/
    
    終端開啟測試服務(wù)器
  • 提示:如果項目的虛擬環(huán)境由py3_django切換到py_django時,需要同時切換測試服務(wù)器的虛擬環(huán)境到py_django

  • 輸入http://127.0.0.1:8000/即可訪問圆存。

    • 刷新網(wǎng)頁就可以查看每次代碼執(zhí)行效果
    • 如果增加代碼叼旋、修改代碼、刪除代碼服務(wù)器會自動重啟沦辙。
    • ctrl+c停止服務(wù)器
    瀏覽器訪問服務(wù)器.png

模型

  • 當(dāng)前項目的開發(fā), 都是數(shù)據(jù)驅(qū)動的夫植。
  • 以下為書籍信息管理的數(shù)據(jù)關(guān)系:書籍和人物是 :一對多關(guān)系
  • 要先分析出項目中所需要的數(shù)據(jù), 然后設(shè)計數(shù)據(jù)庫表.

書籍信息表

字段名 字段類型 字段說明
id AutoField 主鍵
name CharField 書名
id name
1 西游記
2 三國演義

人物信息表

字段名 字段類型 字段說明
id AutoField 主鍵
name CharField 人名
gender BooleanField 性別
book ForeignKey 外鍵
id name gender book
1 孫悟空 False 1
2 白骨精 True 1
3 曹操 False 2
4 貂蟬 True 2

使用Django進行數(shù)據(jù)庫開發(fā)的提示 :

  • MVT設(shè)計模式中的Model, 專門負(fù)責(zé)和數(shù)據(jù)庫交互.對應(yīng)(models.py)
  • 由于Model中內(nèi)嵌了ORM框架, 所以不需要直接面向數(shù)據(jù)庫編程.
  • 而是定義模型類, 通過模型類和對象完成數(shù)據(jù)庫表的增刪改查.
  • ORM框架就是把數(shù)據(jù)庫表的行與相應(yīng)的對象建立關(guān)聯(lián), 互相轉(zhuǎn)換.使得數(shù)據(jù)庫的操作面向?qū)ο?

使用Django進行數(shù)據(jù)庫開發(fā)的步驟 :

  1. 定義模型類
  2. 模型遷移
  3. 操作數(shù)據(jù)庫

1. 定義模型類

  • 根據(jù)書籍表結(jié)構(gòu)設(shè)計模型類:

    • 模型類:BookInfo
    • 書籍名稱字段:name
  • 根據(jù)人物表結(jié)構(gòu)設(shè)計模型類:

    • 模型類:PeopleInfo
    • 人物姓名字段:name
    • 人物性別字段:gender
    • 外鍵約束:book
      • 外鍵要指定所屬的模型類 book = models.ForeignKey(BookInfo)
  • 說明 :

    • 書籍-人物的關(guān)系為一對多. 一本書中可以有多個英雄.
    • 不需要定義主鍵字段, 在生成表時會自動添加, 并且值為自增長.
  • 根據(jù)數(shù)據(jù)庫表的設(shè)計

    • models.py中定義模型類,繼承自models.Model
    from django.db import models
    
    # 準(zhǔn)備書籍列表信息的模型類
    class BookInfo(models.Model):
      # 創(chuàng)建字段杀饵,字段類型...
     name = models.CharField(max_length=10)
    
    # 準(zhǔn)備人物列表信息的模型類
    class PeopleInfo(models.Model):
    name = models.CharField(max_length=10)
    gender = models.BooleanField()
     # 外鍵約束:人物屬于哪本書
    book = models.ForeignKey(BookInfo)
    
    # 模型類準(zhǔn)備好之后瘾敢,需要創(chuàng)建和執(zhí)行遷移==建表
    

2. 模型遷移 (建表)

  • 遷移由兩步完成 :

    • 生成遷移文件:根據(jù)模型類生成創(chuàng)建表的語句
      python manage.py makemigrations
    • 執(zhí)行遷移:根據(jù)第一步生成的語句在數(shù)據(jù)庫中創(chuàng)建表
      python manage.py migrate
  • 遷移前

    遷移前.png
  • 遷移后


    遷移后.png
  • 提示:默認(rèn)采用sqlite3數(shù)據(jù)庫來存儲數(shù)據(jù)

3. 操作數(shù)據(jù)庫

  • 通過模型類和對象完成數(shù)據(jù)庫表的增刪改查.
  • 進入項目的shell, 進行簡單的增刪改查 API操作.
    • ctrl+d或輸入quit()可以退出shell.
      python manage.py shell
      
  • 測試增刪改查 API操作
    # 引入應(yīng)用中的模型類
    from Book.models import *
    
    # 創(chuàng)建書籍模型對象
    book = BookInfo()
    # 新增記錄
    book.name = 'xiyouji'
    # 保存記錄
    book.save()
    # 查詢記錄
    BookInfo.objects.all()
    # 刪除記錄 : 再查詢時,表里數(shù)據(jù)為空
    book.delete()
    
    # 創(chuàng)建人物模型對象
    people = PeopleInfo()
    people.name = 'sunwukong'
    people.gender = True
    people.book = book
    people.save()
    # 外鍵查詢 : 查詢書里面保存的人物信息(peopleinfo_set是隱式生成的)
    book.peopleinfo_set.all()
    
    # 退出shell
    quit()
    

4 站點管理

  • 站點 : 分為內(nèi)容發(fā)布公共訪問兩部分
  • 內(nèi)容發(fā)布 的部分由網(wǎng)站的管理員負(fù)責(zé)查看、添加、修改撞羽、刪除數(shù)據(jù)
  • Django能夠根據(jù)定義的模型類自動地生成管理模塊
  • 使用Django的管理模塊, 需要按照如下步驟操作 :
    • 1.管理界面本地化
    • 2.創(chuàng)建管理員
    • 3.注冊模型類
    • 4.發(fā)布內(nèi)容到數(shù)據(jù)庫
    • 5.自定義站點管理頁面

1.管理界面本地化

  • 本地化是將顯示的語言、時間等使用本地的習(xí)慣衫冻,這里的本地化就是進行中國化.
  • 中國大陸地區(qū)使用簡體中文, 時區(qū)使用亞洲/上海時區(qū), 注意這里不使用北京時區(qū).
  • 本地化前

[圖片上傳中...(image.png-4058e4-1594127813226-0)]


  • 本地化后

2.創(chuàng)建管理員

  • 創(chuàng)建管理員的命令 :

      python manage.py createsuperuser
    
    
  • 按提示輸入用戶名诀紊、郵箱、密碼

    image.png
  • 登陸站點 : http://127.0.0.1:8000/admin

    • 需要服務(wù)器是啟動狀態(tài)
  • 登陸站點成功

    • 站點界面中沒有書籍和人物管理入口,因為沒有注冊模型類

3.注冊模型類

  • 應(yīng)用admin.py文件中注冊模型類

    • 需要導(dǎo)入模型模塊 : from models import *
  • 注冊模型后

注冊模型成功后, 就可以在站點管理界面方便快速的管理數(shù)據(jù).

4.發(fā)布內(nèi)容到數(shù)據(jù)庫

  • 發(fā)布內(nèi)容后隅俘,優(yōu)化模型類展示

    class BookInfo(models.Model):
      """定義書籍信息模型類"""
    
      name = models.CharField(max_length=10)
    
      def __str__(self):
          """將模型類以字符串的方式輸出"""
          return self.name
    
    

5.自定義站點管理頁面

  • 自定義站點管理界面前
  • 如果想在站點界面中展示詳細(xì)的字段信息,需要自定義管理頁面

  • 即 在應(yīng)用admin.py文件中需要重新注冊模型類

    • 新建類繼承自admin.ModelAdmin

    • 重寫list_display邻奠,指定需要展示的字段

    • PeopleAdmin注冊到站點

      # 自定義站點管理界面的類 : 重寫list_display屬性
      class PeopleAdmin(admin.ModelAdmin):
        list_display = ['id','name','gender','book']
      
      # 注冊人物模型
      admin.site.register(PeopleInfo,PeopleAdmin)
      
      
  • 自定義站點管理界面后


視圖和URL

  • 站點管理頁面做好了, 接下來就要做公共訪問的頁面了.
  • 對于Django的設(shè)計框架MVT.
    • 用戶在URL中請求的是視圖.
    • 視圖接收請求后進行處理.
    • 并將處理的結(jié)果返回給請求者.
  • 使用視圖時需要進行兩步操作
    • 1.定義視圖
    • 2.配置URLconf

1. 定義視圖

  • 視圖就是一個Python函數(shù),被定義在應(yīng)用views.py中.

  • 視圖的第一個參數(shù)是HttpRequest類型的對象reqeust为居,包含了所有請求信息.

  • 視圖必須返回HttpResponse對象碌宴,包含返回給請求者的響應(yīng)信息.

  • 需要導(dǎo)入HttpResponse模塊 : from django.http import HttpResponse

  • 定義視圖函數(shù) : 響應(yīng)字符串OK!給客戶端

思考 : 如何才能讓請求找到視圖?

2. 配置URLconf

  • 查找視圖的過程 :

    • 1.請求者在瀏覽器地址欄中輸入URL, 請求到網(wǎng)站.
    • 2.網(wǎng)站獲取URL信息.
    • 3.然后與編寫好的URLconf逐條匹配.
    • 4.如果匹配成功則調(diào)用對應(yīng)的視圖.
    • 5.如果所有的URLconf都沒有匹配成功.則返回404錯誤.
image.png
  • URLconf入口
  • 需要兩步完成URLconf配置

    • 1.在項目中定義URLconf
    • 2.在應(yīng)用中定義URLconf
  • 項目中定義URLconf

  • 應(yīng)用中定義URLconf

    • 提示:一條URLconf包括URL規(guī)則、視圖兩部分

      • URL規(guī)則使用正則表達式定義.
      • 視圖就是在views.py中定義的視圖函數(shù).

3. 測試:請求訪問

  • http://127.0.0.1:8000/

總結(jié)View和URL匹配流程

模板

思考 : 網(wǎng)站如何向客戶端返回一個漂亮的頁面呢蒙畴?

  • 提示 :

    • 漂亮的頁面需要html贰镣、cssjs.
    • 可以把這一堆字段串全都寫到視圖中, 作為HttpResponse()的參數(shù),響應(yīng)給客戶端.
  • 問題 :

    • 視圖部分代碼臃腫, 耦合度高.
    • 這樣定義的字符串是不會出任何效果和錯誤的.
    • 效果無法及時查看.有錯也不容易及時發(fā)現(xiàn).
  • 設(shè)想 :

    • 是否可以有一個專門定義前端頁面的地方, 效果可以及時展示,錯誤可以及時發(fā)現(xiàn),并且可以降低模塊間耦合度!
  • 解決問題 : 模板

    • MVT設(shè)計模式中的T, Template
  • Django中, 將前端的內(nèi)容定義在模板中, 然后再把模板交給視圖調(diào)用, 各種漂亮膳凝、炫酷的效果就出現(xiàn)了.

模板使用步驟

  • 1.創(chuàng)建模板
  • 2.設(shè)置模板查找路徑
  • 3.模板接收視圖傳入的數(shù)據(jù)
  • 4.模板處理數(shù)據(jù)

1.創(chuàng)建模板

  • 應(yīng)用同級目錄下創(chuàng)建模板文件夾templates. 文件夾名稱固定寫法.
  • templates文件夾下, 創(chuàng)建應(yīng)用同名文件夾. 例, Book
  • 應(yīng)用同名文件夾下創(chuàng)建網(wǎng)頁模板文件. 例 : index.html

2.設(shè)置模板查找路徑

3.模板接收視圖傳入的數(shù)據(jù)

  • 模板查找全路徑 : os.path.join(BASE_DIR,'templates'+'Book/index.html'

4.模板處理數(shù)據(jù)

5. 查看模板處理數(shù)據(jù)成果

總結(jié)View-Templates流程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碑隆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蹬音,更是在濱河造成了極大的恐慌上煤,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,185評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件著淆,死亡現(xiàn)場離奇詭異劫狠,居然都是意外死亡拴疤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評論 3 385
  • 文/潘曉璐 我一進店門独泞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遥赚,“玉大人,你說我怎么就攤上這事阐肤≠旆穑” “怎么了?”我有些...
    開封第一講書人閱讀 157,684評論 0 348
  • 文/不壞的土叔 我叫張陵孕惜,是天一觀的道長愧薛。 經(jīng)常有香客問我,道長衫画,這世上最難降的妖魔是什么毫炉? 我笑而不...
    開封第一講書人閱讀 56,564評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮削罩,結(jié)果婚禮上瞄勾,老公的妹妹穿的比我還像新娘。我一直安慰自己弥激,他們只是感情好进陡,可當(dāng)我...
    茶點故事閱讀 65,681評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著微服,像睡著了一般趾疚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上以蕴,一...
    開封第一講書人閱讀 49,874評論 1 290
  • 那天糙麦,我揣著相機與錄音,去河邊找鬼丛肮。 笑死赡磅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宝与。 我是一名探鬼主播焚廊,決...
    沈念sama閱讀 39,025評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伴鳖!你這毒婦竟也來了节值?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,761評論 0 268
  • 序言:老撾萬榮一對情侶失蹤榜聂,失蹤者是張志新(化名)和其女友劉穎搞疗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,217評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡匿乃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,545評論 2 327
  • 正文 我和宋清朗相戀三年桩皿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幢炸。...
    茶點故事閱讀 38,694評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡泄隔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宛徊,到底是詐尸還是另有隱情佛嬉,我是刑警寧澤,帶...
    沈念sama閱讀 34,351評論 4 332
  • 正文 年R本政府宣布闸天,位于F島的核電站暖呕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏苞氮。R本人自食惡果不足惜湾揽,卻給世界環(huán)境...
    茶點故事閱讀 39,988評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笼吟。 院中可真熱鬧库物,春花似錦、人聲如沸贷帮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽皿桑。三九已至毫目,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诲侮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評論 1 266
  • 我被黑心中介騙來泰國打工箱蟆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沟绪,地道東北人。 一個月前我還...
    沈念sama閱讀 46,427評論 2 360
  • 正文 我出身青樓空猜,卻偏偏與公主長得像绽慈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子辈毯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,580評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Django 準(zhǔn)備 “虛擬環(huán)境為什么需要虛擬環(huán)境:到目前位置坝疼,我們所有的第三方包安裝都是直接通過 pip inst...
    33jubi閱讀 1,319評論 0 5
  • 一、Django介紹 1.簡介 Django谆沃,發(fā)音為[`d???ɡ??]钝凶,是用python語言寫的開源web開發(fā)框...
    阿孝不會飛閱讀 755評論 0 2
  • PythonWeb框架要點、Django介紹唁影、工程搭建耕陷、配置掂名、靜態(tài)文件與路由 1.Python Web 框架要點 ...
    Cestine閱讀 1,460評論 0 6
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    小邁克閱讀 2,965評論 1 3
  • 上面這兩個圖片是ORM對象關(guān)系映射的關(guān)系理解。 django框架 一哟沫、簡介 web框架 具體介紹django之前饺蔑,...
    AAA年華閱讀 2,346評論 0 2