mysql 靜態檔案配置檔案 靜態檔案

2021-10-20 22:39:18 字數 4248 閱讀 6591

靜態檔案

預設情況下所有的 html 檔案都是放在 templates 資料夾內的。

什麼是靜態檔案

預設情況下**所用到的靜態檔案資源全部都會放到static資料夾下,django中需要手動建立這個資料夾,static 資料夾下面還可以建立其他的資料夾,將css、js檔案區分開來,為了更加方便的管理檔案。

css 資料夾

js 資料夾

font 資料夾

img 資料夾

bootstrap 資料夾

fontawesome 資料夾

靜態檔案的配置

在 mysite settings.py配置檔案中新增以下資訊:

static_url:訪問靜態檔案資源的介面字尾

staticfiles_dirs:靜態檔案所在的資料夾的路徑

static_url = '/static/' # 訪問靜態檔案的介面url路徑字尾,

staticfiles_dirs = [ # 靜態檔案資源存在的具體資料夾目錄

os.path.join(base_dir,"static"), # 將static檔案裡的內容暴露給使用者看

os.path.join(base_dir,"static1"), # 可以寫多個,從上到下查詢

] # 這樣客戶端通過url方式可以訪問你配置的靜態檔案資源。

靜態檔案動態繫結

我們在配置好這個靜態檔案配置後,需要在html中動態繫結,方便實用並且可以適應靜態檔案路徑變動

將bootstrap資料夾放入static資料夾中,html head標籤內引用以下內容。

注意:如果你的django專案中 debug 模式設定為false,那麼靜態檔案會報404,修改為true即可正常訪問(200)

form表單回顧

get請求

form表單預設是get請求,可以指定為post

那麼我們也可以指定他的請求方式是post

get請求特點:在url會顯示攜帶的資訊,資訊格式:路徑字尾/?***=***&yyy=***

get請求攜帶的資料不安全

get請求攜帶的資料大小有限制

通常get請求如果要攜帶引數的話只會攜帶一些不是很重要的資料

action引數

不寫,預設朝當前位址提交

只寫字尾的形式:index/

前期如果我們在朝後端提交post請求的時候,會出現403的情況,需要注釋掉配置檔案中一行內容。

'django.middleware.csrf.csrfviewmiddleware'

middleware = [

'django.middleware.security.securitymiddleware',

'django.contrib.sessions.middleware.sessionmiddleware',

'django.middleware.common.commonmiddleware',

# 'django.middleware.csrf.csrfviewmiddleware',

'django.contrib.auth.middleware.authenticationmiddleware',

'django.contrib.messages.middleware.messagemiddleware',

'django.middleware.clickjacking.xframeoptionsmiddleware',

在django中後端的檢視函式,無論是發的get請求還是post請求,都會執行檢視函式,預設處理的是get請求。

request方法初識

我們在檢視函式中定義的所有函式都必須有返回值,並且返回值都是httpresponse物件

request 的部分方法

request.method:獲取請求方式,返回的是純大寫的字串。

request.get:獲取使用者提交的get請求資料,返回的是列表套物件。

request.get.get():獲取列表中的最後乙個

request.get.getlist():獲取列表型別的資料

request.post:獲取使用者提交的post請求資料

request.post.get():獲取列表中的最後乙個

request.post.getlist():獲取列表型別的資料

django連線mysql資料庫

一、配置檔案配置

需要在settings.py配置檔案中配置 db.sqlite3

databases = {

'default': {

'engine':'django.db.backends.mysql',

'name':'day50',

'user':'root',

'password':'123',

'host':'192.168.32.130',

'port':3306,

二、告訴django使用pymysql

在專案名/應用名下的乙個__init__.py中寫

import pymysql

pymysql.install_as_mysqldb()

django中操作orm

orm簡介

orm 物件關係對映

python中 資料庫

類名 --> 表名

物件 --> 資料

物件.屬性 --> 字段對應的值

為什麼使用orm

能夠讓不會資料庫操作的人也能夠簡單方便的去運算元據庫

orm的缺點

封裝程度太高,有時候會出現查詢效率偏低的問題。

編寫models.py

我們在寫django專案的時候,最好乙個django專案就對應乙個資料庫。

class user(models.model):

# 如果不寫主鍵,缺省會新增乙個名為id的主鍵,並且這個主鍵是自增id

name = models.charfield(max_length=32)

pwd = models.integerfield()

資料庫遷移命令

編寫完models.py之後,我們要把表建立在mysql資料庫中,需要用到兩條命令

python3 manage.py makemigrations記錄將資料的修改

python3 manage.py migrate真正同步到資料庫中

只要修改了models.py中與資料庫相關的**,就必須重新執行上面兩條命令。

django中模型表字段的增刪改查

對資料庫中字段的修改,直接修改字段即可

如果是新增資料庫字段,要注意兩點:

要給新的字段設定乙個預設值

email = models.emailfield(default="[email protected]")

或者設定新的字段為空

phone = models.bigintergerfield(null=true)

如果要刪除資料字段,直接注釋對應的字段即可,注意刪除欄位也會把資料刪除

最後的最後,記得要執行資料庫的兩條遷移命令

1.python3 manage.py makemigrations # 將資料庫的修改 記錄到migrations檔案內

2.python3 manage.py migrate # 將修改操作真正的同步到資料庫中

django中模型表資料的增刪改查

增:user_obj = models.user.objects.create(username=username,password=password)

print(user_obj,user_obj.username,user_obj.password)

# create方法會有乙個返回值 返回值就是當前被建立的物件本身

刪:models.user.objects.filter(id=delete_id).delete()

批量操作 會將filter查詢出來的列表中所有的物件全部刪除

改:models.user.objects.filter(id=edit_id).update(username=username,password=password)

批量操作 會將filter查詢出來的列表中所有的物件全部更新

查:data = models.user.objects.filter(username=username)

filter返回的結果是乙個"列表",裡面才是真正資料物件

filer括號內可以放多個關鍵字引數 這多個關鍵字引數在查詢的時候 是and關係

user_list = models.user.objects.all()

結果是乙個"列表" 裡面是乙個個的資料物件

Django static靜態配置檔案

對於django來說靜態檔案一般交由web伺服器處理,django本身不處理靜態檔案。為了使django開發環境能夠處理靜態檔案,django有和生產環境不同的靜態檔案配置方式。django 版本 1.10 5.可以測試單獨通過url訪問靜態檔案 staticfiles dirs os.path.j...

Django整理 三 配置檔案 靜態檔案

專案常用配置 在專案的 setting.py 配置檔案中,進行專案相關配置的修改。1.base dir 當前專案的根目錄,django會依此來定位工程內的相關檔案,我們也可以使用該引數來構造檔案路徑。2.debug 含義 是否為除錯模式 開發模式 預設為true 作用 當debug為true時,如果...

靜態檔案配置

static url靜態檔案urlstatic root 靜態檔案根路徑,開發環境才用,收集所有靜態檔案,不能和staticfiles dirs 重合 django的settings中包含三個static相關設定項 static root static url staticfiles dirs st...