首先搭建乙個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在settings.py檔案中,106行script path:manage.py(選擇這個檔案的路徑)
parameters:runserver
【執行之後,在終端會看見乙個**,進去之後專案就跑起來了】
【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下的內容:csrf ----cross site request forgeryfrom djang.db import models
class ***xx(models.model):
欄位1欄位2
class meta:
db_table = 『表名』
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成可以看的懂的...