亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python django入門

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

1.mvc vs mvt

mvc:

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

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

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

mvt:

m:同上

v:同上面的c

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

2.虛擬環(huán)境

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

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

虛擬環(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

進入虛擬環(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關系型數(shù)據庫(mysql)
M:mapping
也就是mysql有個表叫student  有id name列
那么在項目中應該有個student類 屬性有id name
就把這個數(shù)據庫到項目實體類的映射關系稱為orm

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

from django.db import models

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

# 實體類可以繼承Model
class Student(models.Model):
    # 創(chuàng)建字段,字段類型...
    name = models.CharField(max_length=10)
    # 外鍵指定學生的老師
    teacher = models.ForeignKey(Teacher,on_delete=models.CASCADE)
on_delete=None, # 刪除關聯(lián)表中的數(shù)據時,當前表與其關聯(lián)的field的行為
on_delete=models.CASCADE, # 刪除關聯(lián)數(shù)據,與之關聯(lián)也刪除
on_delete=models.DO_NOTHING, # 刪除關聯(lián)數(shù)據,什么也不做
on_delete=models.PROTECT, # 刪除關聯(lián)數(shù)據,引發(fā)錯誤ProtectedError
# models.ForeignKey('關聯(lián)表', on_delete=models.SET_NULL, blank=True, null=True)
on_delete=models.SET_NULL, # 刪除關聯(lián)數(shù)據,與之關聯(lián)的值設置為null(前提FK字段需要設置為可空,一對一同理)
# models.ForeignKey('關聯(lián)表', on_delete=models.SET_DEFAULT, default='默認值')
on_delete=models.SET_DEFAULT, # 刪除關聯(lián)數(shù)據,與之關聯(lián)的值設置為默認值(前提FK字段需要設置默認值,一對一同理)
on_delete=models.SET, # 刪除關聯(lián)數(shù)據,
a. 與之關聯(lián)的值設置為指定值,設置:models.SET(值)
b. 與之關聯(lián)的值設置為可執(zhí)行對象的返回值,設置:models.SET(可執(zhí)行對象)
類型 說明
AutoField 自動增長的IntegerField,通常不用指定,不指定時Django會自動創(chuàng)建屬性名為id的自動增長屬性
BooleanField 布爾字段,值為True或False
NullBooleanField 支持Null、True、False三種值
CharField 字符串,參數(shù)max_length表示最大字符個數(shù)
TextField 大文本字段,一般超過4000個字符時使用
IntegerField 整數(shù)
DecimalField 十進制浮點數(shù), 參數(shù)max_digits表示總位數(shù), 參數(shù)decimal_places表示小數(shù)位數(shù)
FloatField 浮點數(shù)
DateField 日期, 參數(shù)auto_now表示每次保存對象時,自動設置該字段為當前時間,用于"最后一次修改"的時間戳,它總是使用當前日期,默認為False; 參數(shù)auto_now_add表示當對象第一次被創(chuàng)建時自動設置當前時間,用于創(chuàng)建的時間戳,它總是使用當前日期,默認為False; 參數(shù)auto_now_add和auto_now是相互排斥的,組合將會發(fā)生錯誤
TimeField 時間,參數(shù)同DateField
DateTimeField 日期時間,參數(shù)同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',  # 數(shù)據庫名字 需要在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 makemigrations
tips:會在migrations下面生成0001_initial.py文件,里面有表的創(chuàng)建語句,00001也記錄了版本號,記錄了每次對表的改變
執(zhí)行遷移:根據第一步生成的語句在數(shù)據庫中創(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 admin
from .models import Student, Teacher
# Register your models here.
admin.site.register(Student)
admin.site.register(Teacher)

再次訪問:

在這里插入圖片描述

相關文章

  • 使用keras根據層名稱來初始化網絡

    使用keras根據層名稱來初始化網絡

    這篇文章主要介紹了使用keras根據層名稱來初始化網絡,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 教你掌握分布式訓練PyTorch?DDP到Accelerate到Trainer

    教你掌握分布式訓練PyTorch?DDP到Accelerate到Trainer

    這篇文章主要為大家介紹了教你掌握分布式訓練PyTorch?DDP到Accelerate到Trainer
    2023-02-02
  • python爬蟲之驗證碼篇3-滑動驗證碼識別技術

    python爬蟲之驗證碼篇3-滑動驗證碼識別技術

    本篇涉及到的驗證碼為滑動驗證碼,不同于極驗證,本驗證碼難度略低,需要的將滑塊拖動到矩形區(qū)域右側即可完成。對python爬蟲滑動驗證碼識別技術感興趣的朋友跟隨小編一起看看吧
    2019-04-04
  • tensorflow卷積神經Inception?V3網絡結構代碼解析

    tensorflow卷積神經Inception?V3網絡結構代碼解析

    這篇文章主要為大家介紹了卷積神經Inception?V3網絡結構代碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 淺談對pytroch中torch.autograd.backward的思考

    淺談對pytroch中torch.autograd.backward的思考

    這篇文章主要介紹了對pytroch中torch.autograd.backward的思考,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 使用PyTorch實現(xiàn)隨機搜索策略

    使用PyTorch實現(xiàn)隨機搜索策略

    這篇文章主要介紹了使用PyTorch實現(xiàn)隨機搜索策略,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • python isinstance函數(shù)用法詳解

    python isinstance函數(shù)用法詳解

    這篇文章主要介紹了python isinstance函數(shù)用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python要求O(n)復雜度求無序列表中第K的大元素實例

    Python要求O(n)復雜度求無序列表中第K的大元素實例

    這篇文章主要介紹了Python要求O(n)復雜度求無序列表中第K的大元素實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Django自定義排序ORM示例詳解

    Django自定義排序ORM示例詳解

    這篇文章主要為大家介紹了Django自定義排序ORM示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Python WSGI 規(guī)范簡介

    Python WSGI 規(guī)范簡介

    這篇文章主要介紹了Python WSGI 規(guī)范的相關資料,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04

最新評論