欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:Django核心

柚子快報激活碼778899分享:Django核心

http://yzkb.51969.com/

安裝django

pip install django

# pip install django==3.1.6

創(chuàng)建django項目

在一個項目中可以包含多個應(yīng)用程序。

django-admin startapp app_name #創(chuàng)建一個應(yīng)用程序

django-admin startproject project_name #創(chuàng)建一個項目

運行django項目

python manage.py runserver 8000

MTV模式

Models:數(shù)據(jù)庫管理員(非必須) Templates:模板引擎(非必須) Views:接口引擎 瀏覽器輸入地址——> urls.py ——> view ——> model ——> 數(shù)據(jù)庫 ——> views ——> templates ——> response(字節(jié)碼bytes)——> 瀏覽器

請求與響應(yīng)

request ——> urls(path) response ——> views(HttpResponse, TemplateResponse, JsonResponse )

路由分層

就是 urls.py 之間規(guī)則 …

數(shù)據(jù)庫遷移命令

python manage.py makemigrations

python manage.py migrate

這兩個命令是 Django 中用于數(shù)據(jù)庫遷移的命令。

python manage.py makemigrations 命令用于生成數(shù)據(jù)庫遷移文件。遷移文件是 Django 中的一種特殊文件,它記錄了對模型的更改,例如創(chuàng)建新表、添加字段、修改字段等。通過運行該命令,Django會檢測您對模型的更改,并生成相應(yīng)的遷移文件,以便在數(shù)據(jù)庫中應(yīng)用這些更改。

python manage.py migrate 命令用于將數(shù)據(jù)庫遷移應(yīng)用到實際的數(shù)據(jù)庫中。在運行該命令時,Django會查找尚未應(yīng)用的遷移文件,并將其應(yīng)用到數(shù)據(jù)庫中,以確保數(shù)據(jù)庫結(jié)構(gòu)與模型定義保持同步。

通常情況下,當(dāng)您對模型進行更改后,需要運行 makemigrations 命令生成遷移文件,然后再運行 migrate 命令將這些更改應(yīng)用到數(shù)據(jù)庫中。這樣可以保持?jǐn)?shù)據(jù)庫的一致性,并確保模型的更改在數(shù)據(jù)庫中得到正確地反映。

需要注意的是,執(zhí)行遷移操作前,請確保您已正確配置了數(shù)據(jù)庫連接信息,并且數(shù)據(jù)庫已正確創(chuàng)建。此外,如果您的模型有關(guān)聯(lián)關(guān)系(如外鍵、多對多關(guān)系等),Django 還會自動生成相應(yīng)的遷移文件來處理這些關(guān)聯(lián)關(guān)系。

模板語言進階

Django 的模板語言是一種簡單而強大的模板系統(tǒng),用于在 Django 的視圖中生成動態(tài)的 HTML、XML、JSON 等內(nèi)容。以下是 Django 模板語言的主要特點和語法:

插值:使用雙大括號({{}})將變量插入到模板中,例如 {{ variable }}。過濾器:可以使用過濾器對變量進行處理和轉(zhuǎn)換,例如 {{ variable|filter }}。過濾器可以通過管道(|)進行串聯(lián)。標(biāo)簽:使用單大括號和百分號({% %})包圍的內(nèi)容,用于執(zhí)行控制邏輯、循環(huán)、條件判斷等操作。例如 {% if condition %} … {% endif %}。注釋:使用 {# #} 包圍的內(nèi)容,用于添加注釋,這些注釋在渲染模板時會被忽略。循環(huán):使用 {% for item in list %} … {% endfor %} 進行循環(huán)迭代,可以遍歷列表、字典等可迭代對象。條件判斷:使用 {% if condition %} … {% elif condition %} … {% else %} … {% endif %} 進行條件判斷。繼承和塊:可以使用 {% extends ‘base.html’ %} 定義模板繼承關(guān)系,并使用 {% block content %} … {% endblock %} 在父模板中定義可替換的塊。URL 反向解析:使用 {% url ‘view-name’ arg1 arg2 %} 可以根據(jù)視圖名稱和參數(shù)生成相應(yīng)的 URL。靜態(tài)文件:使用 {% static ‘path/to/file’ %} 可以生成靜態(tài)文件的 URL。

Django 模板語言提供了豐富的功能和語法,可以使模板與視圖邏輯相分離,提高代碼的可維護性和重用性。它允許在模板中動態(tài)地插入變量、執(zhí)行控制邏輯和循環(huán),使開發(fā)人員能夠輕松地生成動態(tài)的內(nèi)容和交互式的用戶界面。

Model 之 Instance 與 QuerySet

數(shù)據(jù)庫 倉庫 Model 倉庫設(shè)計圖 Field:CharField、IntegerField、FloatFiled、DateTimeField、ForeignKey、OneToOneField、ManyToManyField… Field參數(shù):max_length、choices、default、null、blank… Instance 貨物 常用方法:save()、get()、delete()… QuerySet(查詢集) 包裹(可以有0-N個Instance) 類似列表的對象(可索引,切片,in(instance in queryset)) 常用方法:filter()、get()、all()、delete()、update()、create()、bulk_create()、order_by()… 舉個例子: Model的定義: class Person(models.Model):

GENDER_CHOICES = (

(1, '男'),

(0, '女')

)

name = models.CharField(max_length=255)

age = models.PositiveIntegerField()

gender = models.BooleanField(choices=GENDER_CHOICES) # item.gender 顯示的是 True 或者 False, item.get_gender_display 顯示的是 男 或者 女

id_card = models.CharField(max_length=18)

address = models.CharField(max_length=255)

temperature = models.FloatField()

'''

class Meta可以用于指定一些與模型類相關(guān)的配置選項,例如數(shù)據(jù)庫表名、排序方式、權(quán)限等。

'''

class Meta:

permissions = ()

QuerySet 和 Instance 的操作(可以通過 python manage.py shell 方便的測試) from second_app.models import Person

p = Person(name="張三", age=20, gender=1, id_card="123123123123333333", address='成都市成華區(qū)', temperature=38.5) # 得到的是一個 instance

p.save()

ps = Person.objects.fileter() # 返回的一個 QuerySet

ps.count()

p = Person.objects.get(id=1) # 返回的是一個 instance

p.age = 30

p.refresh_from_db()

p.age = 30

p.save()

p.refresh_from_db()

ps = Person.objects.filter(id=1) # 返回的一個 QuerySet

ps.update(age=22)

ps[0]

ps[0].age

ps.delete()

ps = Person.objects.filter()

Django命令行

python manage.py shell

python manage.py shell 是 Django 提供的專用命令行工具,用于與 Django 項目進行交互,可以方便地訪問項目資源、進行數(shù)據(jù)庫操作和快速開發(fā)調(diào)試。而默認的 Python Shell 只是 Python 解釋器的交互式環(huán)境,沒有加載 Django 項目的配置和上下文,無法直接訪問項目中的資源和數(shù)據(jù)庫。

Django 環(huán)境加載:python manage.py shell 在啟動時會加載 Django 項目的配置和應(yīng)用,確保在交互式環(huán)境中可以直接訪問項目中定義的模型、視圖、管理器等。 方便的數(shù)據(jù)庫訪問:python manage.py shell 會自動為你配置好數(shù)據(jù)庫連接,可以直接通過模型類進行數(shù)據(jù)庫操作,而不需要手動設(shè)置數(shù)據(jù)庫連接。 項目上下文加載:python manage.py shell 會加載項目的上下文,包括項目的設(shè)置、應(yīng)用配置等信息,使得在交互式環(huán)境中可以方便地訪問和操作項目相關(guān)的資源。 快速開發(fā)和調(diào)試:python manage.py shell 方便開發(fā)人員進行快速的代碼測試、調(diào)試和驗證,可以直接執(zhí)行和測試 Django 項目中的代碼邏輯。

Model 與 Form 與 ModelForm

Model:Model是面向數(shù)據(jù)庫的 Form:Form是面向前端的 ModelForm:與Model有關(guān),與前端也有關(guān)

前后端不分離之五大視圖

動作視圖名是否需要Model是否需要Form增CreateView是是刪DeleteView是否改UpdateView是是查ListView, DetailView是否

ListView

CreateView

DetailView

UpdateView

DeleteView

前后端分離之常用視圖

View

APIView

柚子快報激活碼778899分享:Django核心

http://yzkb.51969.com/

好文鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18835811.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄