關於Django的一周總結

2021-10-06 10:17:52 字數 4739 閱讀 7735

首先搭建乙個django的專案框架,步驟

【在windows終端命令列下】

django-admin -

-version #檢視有無django,或者版本號

【安裝django】

【建立專案資料夾】

django-admin startproject 專案檔名

【是否需要版本控制,自行決定,用於上傳遠端倉庫】

git init

【在gitbash下】

touch .gitignore #用於配置忽略檔案

vim .gitignore

【在下面新增兩條新內容】

venv/

.idea/

##linux 【在linux上面加這兩個忽略檔案】

git add .

#新增到暫存區

git commit -m '***'

#提交說明

【gitee上建立空倉庫】

git remote add origin 倉庫url

git push -u origin master #連線遠端倉庫,把你建好的專案推上去

【安裝依賴項,並生成依賴項清單】

pip freeze #檢視你所安裝的依賴項

pip freeze > requirements.txt #生成依賴項清單

【如果已經有依賴項清單了,就直接讀取清單】

pip install -r requirements.txt

用於接收瀏覽器的請求,給使用者響應

return httpresponse(content)用於存放一些html,css檔案,渲染頁面,一般是templates,展示多樣內容

views.py是寫內容,儲存資料。

在pycharm專案目錄下建立就行,用來存放html等檔案

netstat -ntlp	 	 #檢視資料庫是否啟動

systemctl restart mysqld #重啟資料庫

mysql -u root -p #連線資料庫

create database 庫名 defautl charset utf8;

#建立資料庫

create uesr '***'@'%' identified by '******x'

#'***'@'%'表示使用者名稱,by後面的是密碼

【如果建立使用者的時候報錯1290,就重新整理一下】

flush privileges;

#重新整理【將許可權賦予給這個使用者,這個是所有許可權,一般不建議這麼做,許可權過大,練習沒事】

grant all privileges on.

* to '***'@'%'

;【賦許可權之後重新整理一下】

flush privileges;

【可以檢視一下表結構】

desc 表名

設定在pycharm執行箭頭旁,框框進去,editt。。。。

+,python

name:manage

script path:manage.py(選擇這個檔案的路徑)

parameters:runserver

【執行之後,在終端會看見乙個**,進去之後專案就跑起來了】

在settings.py檔案中,106行

【zh-hans表示漢語,asia/chongqing】

language_code=

'zh-hans'

【time_zone 表示時區】

time_zone =

'asia/chongqing'```

在setting.py檔案中,39行末

[末尾新增

『應用名』,

]

urlpatterns = 【

path(

'應用名/'

,show_index())

#show_index指的是views.py檢視函式中你建立的函式

#應用名那裡不寫,就代表是首頁,直接輸入ip位址就能訪問

#輸入之後,要加字尾才能訪問響應的

在設定檔案中,59行

#base_dir 表示根目錄,將你的模板頁拼接到根目錄下

templates=

['dirs':[os.path.join(base_dir,

'templates'),

]]

在設定檔案,82行

databases =

}在注釋那有**,去**看配置引數

優缺點

缺點:執行效率不高(但可以用硬體來彌補)

首先,第乙個報錯是版本不對,在__init__.py檔案中,匯入pymysql,裡面內容如下:

import pymysql

pymysql.install_as_mysqldb(

)【因為mysqldb和pymysql的用法差不多】

【暫時還不行,因為版本過低】

【ctrl+左鍵 點install_as_mysqldb ,改這個三方庫是受保護的,但是可以強改,改的時候選第乙個選項,i want to edit this file anyway。】

在def install_as_mysqldb(

)下 第120行新增

global version_info

version_info =(1

,4,12

,'final',0

)【把版本改高,原本的版本1.3,改高就行】

【在144行下,】

【mysqlclient是用c寫的,是位元組;pymysql是python寫的是字串,所以做下判斷】

if query is

notnone:if

type

(query)

==bytes

: query = query.decode(errors=

'replace'

)elif

type

(query)

==str

: query = query.encode(errors=

'replace'

)else

: query = force_text(query,errors=

'replace'

)return query

偏移命令最後一定要加上所對應的應用名,否則會額外生成很多,django自身所需要的檔案

~偏移之後,會生成一些根據專案下,models.py,你所指定的一些模板表,如果連線了資料庫,就會偏移到資料庫去

【生成偏移,在pycharm終端輸入】

python manage.py makemigrations 應用名

【執行偏移】

python manage.py migrate 應用名

models.py下的內容:

from djang.db import models

class ***xx(models.model):

欄位1欄位2

class meta:

db_table = 『表名』

csrf ----cross site request forgery

django框架通過在表單新增隨機令牌的方式可以解決csrf

<

input

type

='hidden' name=

'csrfmiddlewaretoken' value=

'...'

>

屬於常識性問題

相同點:

都是通過一定的規則把資料轉換成另一種格式

不同:加密一般用md5 / sha1 / sha256 等演算法對密碼進行處理後儲存,對資料安全,md5目前已經不安全,sha256,相對來講,長度越長,資料量越大,越耗費資源

編碼:base64編碼是基於64個可列印字元將二進位制資料進行轉換儲存,常用語郵件傳輸,資料量變大,一般是3/1左右

在pycharm終端下,進入到ipython

import base64

【編碼】

base64.b64encode(

'內容'

.encode())

【解碼】

base64.b64decode(

'內容'

)

atob(

'內容'

)#也是編碼

btoa('內容') #解碼

用法如下:

一周的總結

一周的總結 1.學習結構體中的大小比較 目的 判斷整體的排列 1.按總分 2.按語文 3.按學號 bool operator const node a const 例子 cpp struct student q n 2.dfs和bfs的問題 1.什麼是dfs 深度優先 2.什麼是bfs 廣度優先 自...

關於開學第一周的總結

2019 3 2 星期六 新學期 新氣象,已經開學一周了,在這一周裡面過的還算挺好 拋去不開心的,全是開心的。許久未見的同學 朋友終於可以在一起好好聚聚 談談了,想是許久未見了,見面的時候好像有說不完的話,恨不能把去年發生的有趣的事都想去他們分享,一起開心 一起吐槽。當然了,開學就代表著新的任務 新...

實習一周的總結

實習一周的感覺,就是,因為我大學學的不是計算機專業的,所以沒有多大經驗,包括自己自學的話,是有很多侷限性的,因為不知道外面企業的專案是怎麼寫的,而且我自己在自學的過程可能會遺漏一些知識點,這個時候,實習就顯得非常重要了。這幾天一直都在看別人寫的 還好我比較注重基礎,所以別人寫的 還是8成可以看的懂的...