(二)diango(1)- 搭建環(huán)境胜宇,簡單環(huán)境介紹

Django

  • 簡介:
    • 使用框架開發(fā)
      1.可以站在巨人的肩膀上
    1. 提高開發(fā)效率
    2. 只關注業(yè)務邏輯上的實現(xiàn)负敏,不關心底層建設
  • 常用的框架Django 和 Flask
    • diango
    1. 大而全
    2. 入門簡單
    3. 最流行
    • Flask
      1.輕量級
    1. 定制化程度高
    2. 流行
    3. 適合于老手

diango的特點

  • 提供創(chuàng)建項目的自動工具
  • 數(shù)據(jù)庫ORM支持
  • 模板
  • 表單
  • admin管理站點
  • 文件管理
  • 認證權限
  • session 機制
  • 緩存

創(chuàng)建工程

  1. 創(chuàng)建虛擬環(huán)境(詳情查看之前文章)
    • python -m venv 虛擬環(huán)境名
  2. 安裝Django
    • 進入虛擬環(huán)境
      win:


      image.png
    • 安裝Django(網絡不好的可以用豆瓣源)

    pip install Django

image.png
  1. 創(chuàng)建項目
  • 命令行創(chuàng)建:

    diango startproject 項目名
    創(chuàng)建于項目配置同名需要下項目名后加一個 “ .”
    diango startproject 項目名 .

  • 使用PyCjarm創(chuàng)建


    image.png
  1. 運行項目
  • python manage.py runserver
  • python manage.py runserver ip:端口

目錄結構

setting : 項目全局配置文件
urls: 生命全局的URL路由表
wagi.py 兼容Wsgi的web服務器入口
manage.py 和sjango交互的命令行工具

  • 修改項目主頁語言


    image.png

創(chuàng)建子應用

  1. 定義
  • 業(yè)務模塊做到復用
  • 將工程項目拆分為不同的子功能模塊
    • 以子應用的形式存在
      -各功能模塊間可以相互的獨立
  • 可以將該模塊整體復制

2.創(chuàng)建

  • python manage.py startapp 子應用名
image.png

3.注冊

  • 在全局配置文件setting中的INSTALLED_APPS添加子應用


    image.png

4.創(chuàng)建視圖

  • 在子應用名/views.py中代碼如下


    image.png

5.添加路由

  • 在project/urls.py子路由文件
  • 全部路由urls中加載子路由信息


    image.png

6.子應用結構
migrations 用于數(shù)據(jù)庫遷移歷史記錄
admin 網站后臺管理站點配置文件
apps 用于配置當前子應用的相關信息
models 保存數(shù)據(jù)庫模型類
test.py 編寫單元測試
views 用于編寫web視圖

路由

  • 全局
from django.contrib import admin
from django.urls import path,include


#全局路由配置信息
# urlpatterns為固定名稱的列表
# 列表中的一個元素,就代表一條路由
# 從上到下進行匹配骂束,如果成功苛谷,django會導入和調用path函數(shù)第二個參數(shù)指定的視圖獲取去子路由中匹配
# 如果匹配不上會拋出一個404(默認404頁面辅鲸,狀態(tài)404)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index', include('Project.urls')),
]

  • 子路由
from django.urls import path
from  Project.views import index

#子路由配置信息
# urlpatterns為固定名稱的列表
# 列表中的一個元素,就代表一條路由
# 從上到下進行匹配
# 如果匹配不上會拋出一個404(默認404頁面腹殿,狀態(tài)404)

urlpatterns = [
    path('', index),
]

視圖

  • 函數(shù)視圖
from django.http import HttpResponse
from django.views import View

# Create your views here.

# 函數(shù)視圖
# 視圖函數(shù)第一個參數(shù)一般默認為request


def index(request):
    '''
     :param requext: # request是HTTprequest對象独悴,白喊前端的所有請求信息
     :return:  必須返回一個HttpReponse對象或者子對象
    '''
    if request.method == 'GET':
       return HttpResponse('<h1>星空<h1>')
    elif request.method == "POST":
        return HttpResponse('<h1>黑夜<h1>')
    else:
        return HttpResponse('<h1>星星<h1>')

路由設置

image.png
  • 類視圖
#類視圖
class Indexview(View):

    def get(self,request):

        return HttpResponse('<h1>星空<h1>')

    def post(self,request):
        return HttpResponse('<h1>黑夜<h1>')

    def delete(self,request):
        return HttpResponse('<h1>星星<h1>')

路由設置:


image.png

模板

  • templates
    1.創(chuàng)建一個html郵件
    image.png

    2,在視圖中調用:
from django.shortcuts import render
from django.http import HttpResponse
from django.views import View

# Create your views here.

# 函數(shù)視圖
# 視圖函數(shù)第一個參數(shù)一般默認為request


def index(request):
    '''
     :param requext: # request是HTTprequest對象锣尉,白喊前端的所有請求信息
     :return:  必須返回一個HttpReponse對象或者子對象
    '''
    if request.method == 'GET':
       return HttpResponse('<h1>星空<h1>')
    elif request.method == "POST":
        return HttpResponse('<h1>黑夜<h1>')
    else:
        return HttpResponse('<h1>星星<h1>')

#類視圖
class Indexview(View):

    def get(self,request):

        # return HttpResponse('<h1>星空<h1>')
        # 從數(shù)據(jù)庫中讀取數(shù)據(jù)
        datas = [
            {'project':'11',
             'leader':'22'},
            {'project': '33',
             'leader': '44'},
        ]
        #locals將數(shù)據(jù)傳入
        return  render(request,'test.html',locals())
    def post(self,request):
        return HttpResponse('<h1>黑夜<h1>')

    def delete(self,request):
        return HttpResponse('<h1>星星<h1>')

MVT模式

M : mode 負責和數(shù)據(jù)庫交互
V: View 接收請求
T: Templace 負責構造返回的HTML頁面


image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末刻炒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子自沧,更是在濱河造成了極大的恐慌坟奥,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拇厢,死亡現(xiàn)場離奇詭異爱谁,居然都是意外死亡,警方通過查閱死者的電腦和手機孝偎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門管行,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人邪媳,你說我怎么就攤上這事〉聪荩” “怎么了雨效?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長废赞。 經常有香客問我徽龟,道長,這世上最難降的妖魔是什么唉地? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任据悔,我火速辦了婚禮,結果婚禮上耘沼,老公的妹妹穿的比我還像新娘极颓。我一直安慰自己,他們只是感情好群嗤,可當我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布菠隆。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪骇径。 梳的紋絲不亂的頭發(fā)上躯肌,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天,我揣著相機與錄音破衔,去河邊找鬼清女。 笑死,一個胖子當著我的面吹牛晰筛,可吹牛的內容都是我干的嫡丙。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼传惠,長吁一口氣:“原來是場噩夢啊……” “哼迄沫!你這毒婦竟也來了?” 一聲冷哼從身側響起卦方,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤羊瘩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后盼砍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尘吗,經...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年浇坐,在試婚紗的時候發(fā)現(xiàn)自己被綠了睬捶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡近刘,死狀恐怖擒贸,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情觉渴,我是刑警寧澤介劫,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站案淋,受9級特大地震影響座韵,放射性物質發(fā)生泄漏。R本人自食惡果不足惜踢京,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一誉碴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓣距,春花似錦黔帕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侣背。三九已至,卻和暖如春慨默,著一層夾襖步出監(jiān)牢的瞬間贩耐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工厦取, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留潮太,地道東北人。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓虾攻,卻偏偏與公主長得像铡买,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子霎箍,可洞房花燭夜當晚...
    茶點故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內容

  • 顯高顯瘦顯腿長奇钞,紙袋褲了解一下! 紙袋褲的設計精髓在腰部漂坏,高腰基礎上利用腰帶打造出像紙袋收口一樣的褶皺景埃,拉高腰線的...
    寒寒小小閱讀 160評論 0 0
  • 記得小時候谷徙,我與家人在聊天,我當時很天真的說我一定會考上清華北大驯绎⊥昊郏可我不知道我那來自信。上小學剩失,便按時完成任務屈尼,可...
    若淳閱讀 185評論 0 0