最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python django入門

 更新時(shí)間:2021年11月17日 09:00:10   作者:說重點(diǎn)丶  
這篇文章主要為大家介紹了python django的入門,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

1.mvc vs mvt

mvc:

m:model數(shù)據(jù)模型(將數(shù)據(jù)從數(shù)據(jù)庫查詢出來,再加工成前臺(tái)需要的數(shù)據(jù),統(tǒng)稱數(shù)據(jù)模型層)

c:controller控制層(接受請(qǐng)求,接受請(qǐng)求數(shù)據(jù),返回?cái)?shù)據(jù)的代碼層)

v:視圖層(展示給用戶看的層,比如網(wǎng)頁、app、顯示器等)

mvt:

m:同上

v:同上面的c

t:template模板的意思(比如京東瀏覽任何一個(gè)商品的詳情頁都是類似的頁面只是數(shù)據(jù)不同,就可以寫一個(gè)頁面然后填充不同的數(shù)據(jù),這個(gè)相同的頁面就是模板)

2.虛擬環(huán)境

python為了不同項(xiàng)目之間版本不沖突,創(chuàng)建了虛擬環(huán)境的概念

問題:如果在一臺(tái)電腦上, 想開發(fā)多個(gè)不同的項(xiàng)目, 需要用到同一個(gè)包的不同版本, 如果使用上面的命令, 在同一個(gè)目錄下安裝或者更新, 新版本會(huì)覆蓋以前的版本, 其它的項(xiàng)目就無法運(yùn)行了.
解決方案:虛擬環(huán)境
作用:虛擬環(huán)境可以搭建獨(dú)立的python運(yùn)行環(huán)境, 使得單個(gè)項(xiàng)目的運(yùn)行環(huán)境與其它項(xiàng)目互不影響.

虛擬環(huán)境安裝:

pip install virtualenv
pip install virtualenvwrapper
可以使用豆瓣的鏡像
pip install virtualen -i https://pypi.douban.com/simple 

創(chuàng)建虛擬環(huán)境的命令:

mkvirtualenv -p python3 虛擬環(huán)境名稱
例 :
mkvirtualenv -p python3 py3_django

進(jìn)入虛擬環(huán)境:

workon py3_django

刪除虛擬環(huán)境的命令 :

rmvirtualenv 虛擬環(huán)境名稱
刪除的時(shí)候需要先退出虛擬環(huán)境
先退出:deactivate
再刪除:rmvirtualenv py3_django

3.安裝包

項(xiàng)目的運(yùn)行需要各種各樣的包,都需要安裝

進(jìn)入虛擬環(huán)境后安裝命令:

pip install 模塊名 -i https://pypi.douban.com/simple(這里使用豆瓣鏡像)
例如: 
pip install django==2.1.1 -i https://pypi.douban.com/simple 
如果不指定版本
pip install django -i https://pypi.douban.com/simple  默認(rèn)安裝最新版本
卸載:
pip uninstall xxxx
查看已安裝列表:
pip list

4.創(chuàng)建django項(xiàng)目

django-admin startproject daping(項(xiàng)目名)

使用pycharm打開

在這里插入圖片描述

為項(xiàng)目配置虛擬環(huán)境:

在這里插入圖片描述

運(yùn)行項(xiàng)目:

可以使用cmd進(jìn)入項(xiàng)目目錄運(yùn)行
也可以點(diǎn)擊pycharm左下角的terminal運(yùn)行(運(yùn)行的時(shí)候需要進(jìn)入虛擬環(huán)境)
python manage.py runserver ip:端口
或:
python manage.py runserver
可以不寫IP和端口,默認(rèn)IP是127.0.0.1,默認(rèn)端口為8000。
啟動(dòng)后在頁面訪問
127.0.0.1:8000
有個(gè)小火箭就是成功了

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

每個(gè)項(xiàng)目都會(huì)有很多模塊,比如商城有支付、物流等,而支付跟物流顯然都是很多項(xiàng)目可以共用的,

為了達(dá)到復(fù)用的目的,python提出了應(yīng)用的概念,把每個(gè)模塊單獨(dú)創(chuàng)建為一個(gè)應(yīng)用,就可以很方便的達(dá)到復(fù)用的目的

python manage.py startapp 子應(yīng)用名稱      
tips:如果在其他目錄下可以通過相對(duì)路徑找到manage.py
例如:python manage.py startapp pay (在大平的目錄下創(chuàng)建了一個(gè)名為pay的應(yīng)用)

在這里插入圖片描述

創(chuàng)建了子應(yīng)用,需要在項(xiàng)目的全局配置中加入子應(yīng)用

setting----INSTALLED_APPS---找到最后一行添加應(yīng)用名稱

在這里插入圖片描述

6.模型ORM

ORM:
O:Object實(shí)體類
R:relatinal關(guān)系型數(shù)據(jù)庫(mysql)
M:mapping
也就是mysql有個(gè)表叫student  有id name列
那么在項(xiàng)目中應(yīng)該有個(gè)student類 屬性有id name
就把這個(gè)數(shù)據(jù)庫到項(xiàng)目實(shí)體類的映射關(guān)系稱為orm

在pay應(yīng)用的models.py中新建實(shí)體類:

from django.db import models

# Create your models here.
class Teacher(models.Model):
    name = models.CharField(max_length=10)

# 實(shí)體類可以繼承Model
class Student(models.Model):
    # 創(chuàng)建字段,字段類型...
    name = models.CharField(max_length=10)
    # 外鍵指定學(xué)生的老師
    teacher = models.ForeignKey(Teacher,on_delete=models.CASCADE)
on_delete=None, # 刪除關(guān)聯(lián)表中的數(shù)據(jù)時(shí),當(dāng)前表與其關(guān)聯(lián)的field的行為
on_delete=models.CASCADE, # 刪除關(guān)聯(lián)數(shù)據(jù),與之關(guān)聯(lián)也刪除
on_delete=models.DO_NOTHING, # 刪除關(guān)聯(lián)數(shù)據(jù),什么也不做
on_delete=models.PROTECT, # 刪除關(guān)聯(lián)數(shù)據(jù),引發(fā)錯(cuò)誤ProtectedError
# models.ForeignKey('關(guān)聯(lián)表', on_delete=models.SET_NULL, blank=True, null=True)
on_delete=models.SET_NULL, # 刪除關(guān)聯(lián)數(shù)據(jù),與之關(guān)聯(lián)的值設(shè)置為null(前提FK字段需要設(shè)置為可空,一對(duì)一同理)
# models.ForeignKey('關(guān)聯(lián)表', on_delete=models.SET_DEFAULT, default='默認(rèn)值')
on_delete=models.SET_DEFAULT, # 刪除關(guān)聯(lián)數(shù)據(jù),與之關(guān)聯(lián)的值設(shè)置為默認(rèn)值(前提FK字段需要設(shè)置默認(rèn)值,一對(duì)一同理)
on_delete=models.SET, # 刪除關(guān)聯(lián)數(shù)據(jù),
a. 與之關(guān)聯(lián)的值設(shè)置為指定值,設(shè)置:models.SET(值)
b. 與之關(guān)聯(lián)的值設(shè)置為可執(zhí)行對(duì)象的返回值,設(shè)置:models.SET(可執(zhí)行對(duì)象)
類型 說明
AutoField 自動(dòng)增長的IntegerField,通常不用指定,不指定時(shí)Django會(huì)自動(dòng)創(chuàng)建屬性名為id的自動(dòng)增長屬性
BooleanField 布爾字段,值為True或False
NullBooleanField 支持Null、True、False三種值
CharField 字符串,參數(shù)max_length表示最大字符個(gè)數(shù)
TextField 大文本字段,一般超過4000個(gè)字符時(shí)使用
IntegerField 整數(shù)
DecimalField 十進(jìn)制浮點(diǎn)數(shù), 參數(shù)max_digits表示總位數(shù), 參數(shù)decimal_places表示小數(shù)位數(shù)
FloatField 浮點(diǎn)數(shù)
DateField 日期, 參數(shù)auto_now表示每次保存對(duì)象時(shí),自動(dòng)設(shè)置該字段為當(dāng)前時(shí)間,用于"最后一次修改"的時(shí)間戳,它總是使用當(dāng)前日期,默認(rèn)為False; 參數(shù)auto_now_add表示當(dāng)對(duì)象第一次被創(chuàng)建時(shí)自動(dòng)設(shè)置當(dāng)前時(shí)間,用于創(chuàng)建的時(shí)間戳,它總是使用當(dāng)前日期,默認(rèn)為False; 參數(shù)auto_now_add和auto_now是相互排斥的,組合將會(huì)發(fā)生錯(cuò)誤
TimeField 時(shí)間,參數(shù)同DateField
DateTimeField 日期時(shí)間,參數(shù)同DateField
FileField 上傳文件字段
ImageField 繼承于FileField,對(duì)上傳的內(nèi)容進(jìn)行校驗(yàn),確保是有效的圖片

選項(xiàng) 說明

  • null 如果為True,表示允許為空,默認(rèn)值是False
  • blank 如果為True,則該字段允許為空白,默認(rèn)值是False
  • db_column 字段的名稱,如果未指定,則使用屬性的名稱
  • db_index 若值為True, 則在表中會(huì)為此字段創(chuàng)建索引,默認(rèn)值是False
  • default 默認(rèn)
  • primary_key 若為True,則該字段會(huì)成為模型的主鍵字段,默認(rèn)值是False,一般作為AutoField的選項(xiàng)使用
  • unique 如果為True, 這個(gè)字段在表中必須有唯一值,默認(rèn)值是False

修改setting配置文件,找到如下代碼改為自己的mysql鏈接:

DATABASES = {
    'default':
        {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'junge',  # 數(shù)據(jù)庫名字 需要在mysql創(chuàng)建對(duì)應(yīng)的庫
            'USER': 'root',
            'PASSWORD': '123456',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
}

鏈接mysql需要安裝mysqlclient,如下命令安裝

pip install mysqlclient -i https://pypi.douban.com/simple 

模型遷移 (建表)

生成遷移文件:根據(jù)模型類生成創(chuàng)建表的語句
python manage.py makemigrations
tips:會(huì)在migrations下面生成0001_initial.py文件,里面有表的創(chuàng)建語句,00001也記錄了版本號(hào),記錄了每次對(duì)表的改變
執(zhí)行遷移:根據(jù)第一步生成的語句在數(shù)據(jù)庫中創(chuàng)建表
python manage.py migrate
執(zhí)行完畢就會(huì)在mysql中生成對(duì)應(yīng)的表

在這里插入圖片描述

7.后臺(tái)管理系統(tǒng)(站點(diǎn)管理)

修改setting.py里面的,語言跟時(shí)區(qū)

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
修改為:
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

后臺(tái)管理系統(tǒng)需要賬號(hào)登錄,先創(chuàng)建用戶:

  python manage.py createsuperuser
  按照提示輸入用戶名密碼,郵箱隨便輸入
  重置密碼python manager.py changepassword 用戶名

創(chuàng)建好了用戶啟動(dòng)項(xiàng)目,瀏覽器訪問站點(diǎn):

python manage.py runserver 啟動(dòng)項(xiàng)目
登陸站點(diǎn) :http://127.0.0.1:8000/admin

想要我們創(chuàng)建的實(shí)體類被站點(diǎn)管理,需要注冊(cè):

在admin.py中輸入

from django.contrib import admin
from .models import Student, Teacher
# Register your models here.
admin.site.register(Student)
admin.site.register(Teacher)

再次訪問:

在這里插入圖片描述

相關(guān)文章

  • python實(shí)現(xiàn)圖像最近鄰插值

    python實(shí)現(xiàn)圖像最近鄰插值

    這篇文章主要介紹了python實(shí)現(xiàn)圖像最近鄰插值,圖像插值技術(shù)即Nearest?Neighbour?Interpolate是圖像超分辨率領(lǐng)域的重要研究方法之一,其目的是根據(jù)已有的低分辨率圖像,獲得高分辨率圖像,下面來看看文章具體的敘述,需要的朋友可以參考一下
    2022-03-03
  • Python3.5 Pandas模塊之Series用法實(shí)例分析

    Python3.5 Pandas模塊之Series用法實(shí)例分析

    這篇文章主要介紹了Python3.5 Pandas模塊之Series用法,結(jié)合實(shí)例形式分析了Python3.5中Pandas模塊的Series結(jié)構(gòu)原理、創(chuàng)建、獲取、運(yùn)算等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • spyder常用快捷鍵(分享)

    spyder常用快捷鍵(分享)

    下面小編就為大家?guī)硪黄猻pyder常用快捷鍵(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • Django添加KindEditor富文本編輯器的使用

    Django添加KindEditor富文本編輯器的使用

    今天小編就為大家分享一篇關(guān)于Django添加KindEditor富文本編輯器的使用,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Python列表切片用法示例

    Python列表切片用法示例

    這篇文章主要介紹了Python列表切片用法,結(jié)合實(shí)例形式分析了Python列表切片的常見操作方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-04-04
  • python使用Tesseract庫識(shí)別驗(yàn)證

    python使用Tesseract庫識(shí)別驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了python使用Tesseract庫識(shí)別驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python二進(jìn)制轉(zhuǎn)換模塊的具體用法

    python二進(jìn)制轉(zhuǎn)換模塊的具體用法

    在pyton中,通過struct模塊來對(duì)二進(jìn)制進(jìn)行轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python解惑之整數(shù)比較詳解

    Python解惑之整數(shù)比較詳解

    這篇文章主要給大家介紹了Python中整數(shù)比較的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),詳細(xì)會(huì)對(duì)大家學(xué)習(xí)python的整數(shù)具有一定的參考價(jià)值,需要的朋友下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • OpenCV2.3.1+Python2.7.3+Numpy等的配置解析

    OpenCV2.3.1+Python2.7.3+Numpy等的配置解析

    這篇文章主要介紹了OpenCV2.3.1+Python2.7.3+Numpy等的配置解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python中itertools模塊用法詳解

    Python中itertools模塊用法詳解

    這篇文章主要介紹了Python中itertools模塊用法,詳細(xì)的講述了itertools模塊中常見函數(shù)的用法及相關(guān)示例,有助于深入掌握Python程序設(shè)計(jì),需要的朋友可以參考下
    2014-09-09

最新評(píng)論

大新县| 萨嘎县| 建德市| 苏尼特右旗| 黎平县| 井研县| 吴忠市| 分宜县| 临漳县| 广昌县| 津市市| 会同县| 泰和县| 钟山县| 日喀则市| 大同市| 卢龙县| 库尔勒市| 苏尼特右旗| 乌拉特后旗| 望奎县| 淮安市| 宜丰县| 鸡西市| 新疆| 黄冈市| 北票市| 英吉沙县| 日土县| 竹山县| 闽清县| 前郭尔| 安阳县| 江西省| 福鼎市| 磴口县| 茌平县| 和林格尔县| 修文县| 乐山市| 安岳县|