成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python入門 django入門 (一)

hzc / 2841人閱讀

摘要:本人年開發(fā)經驗,現就職于電信,因工作需要學習,記錄自己的學習記錄。

本人java10年開發(fā)經驗,現就職于電信,因工作需要學習python,記錄自己的學習記錄。后面也會持續(xù)分享真實工作經驗,及項目

1.mvc vs mvt

mvc:

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

c:controller控制層(接受請求,接受請求數據,返回數據的代碼層)

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

mvt:

m:同上

v:同上面的c

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

2.虛擬環(huán)境

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

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

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

pip install virtualenvpip 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

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

workon py3_django

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

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

3.安裝包

項目的運行需要各種各樣的包,都需要安裝

進入虛擬環(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  默認安裝最新版本卸載:pip uninstall xxxx查看已安裝列表:pip list

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

django-admin startproject daping(項目名)

使用pycharm打開

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

運行項目:

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

5.創(chuàng)建應用

每個項目都會有很多模塊,比如商城有支付、物流等,而支付跟物流顯然都是很多項目可以共用的,

為了達到復用的目的,python提出了應用的概念,把每個模塊多帶帶創(chuàng)建為一個應用,就可以很方便的達到復用的目的

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

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

setting----INSTALLED_APPS---找到最后一行添加應用名稱

6.模型ORM

ORM:O:Object實體類R:relatinal關系型數據庫(mysql)M:mapping也就是mysql有個表叫student  有id name列那么在項目中應該有個student類 屬性有id name就把這個數據庫到項目實體類的映射關系稱為orm

在pay應用的models.py中新建實體類:

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

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

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

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

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

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

模型遷移 (建表)

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

7.后臺管理系統(tǒng)(站點管理)

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

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

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

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

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

python manage.py runserver 啟動項目登陸站點 :http://127.0.0.1:8000/admin

想要我們創(chuàng)建的實體類被站點管理,需要注冊:

在admin.py中輸入

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

再次訪問:

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/123515.html

相關文章

  • 如何成為名優(yōu)秀的程序員

    摘要:前言羅子雄如何成為一名優(yōu)秀設計師董明偉工程師的入門和進階董明偉基于自己實踐講的知乎為新人提供了很多實用建議,他推薦的羅子雄如何成為一名優(yōu)秀設計師的演講講的非常好,總結了設計師從入門到提高的優(yōu)秀實踐。 前言 羅子雄:如何成為一名優(yōu)秀設計師 董明偉:Python 工程師的入門和進階 董明偉基于自己實踐講的知乎live為Python新人提供了很多實用建議,他推薦的羅子雄:如何成為一名優(yōu)秀...

    keelii 評論0 收藏0
  • Python入門資料大全(更新ing)

    摘要:在線挑戰(zhàn),還沒用過,貌似現在對英文資料心里還有種抵觸,必須克服實驗樓研發(fā)工程師包含了等學習課程。書的作者就是開發(fā)了用于數據分析的著名開源庫的作者英文資料,對數據分析中要用到的一些庫,等等做了簡要介紹。形式的資料,示例代碼都很全。 showImg(https://segmentfault.com/img/remote/1460000004852849); 一、說明 面對網絡上紛繁復雜的資...

    wuaiqiu 評論0 收藏0
  • Django入門(1)

    摘要:入門項目創(chuàng)建和創(chuàng)建準備環(huán)境項目創(chuàng)建創(chuàng)建進入項目路徑創(chuàng)建路由文件項目結構如下項目注冊在此處注冊項目路由注冊注冊的此時,一個完整的流程就好了修改的路由寫一個視圖函數函數視圖的定義 Django入門 項目創(chuàng)建和APP創(chuàng)建 準備環(huán)境 python3 virtualenv pip3 pip3 install django==1.1 項目創(chuàng)建,APP創(chuàng)建 django-admin startpr...

    wwq0327 評論0 收藏0

發(fā)表評論

0條評論

hzc

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<