1. 程式人生 > >django安裝及簡單使用

django安裝及簡單使用


1 web應用
2 cs和bs架構
3 http協議----重點
-特點:1 2 3 4
-請求頭:
請求首行 get / http/1.1\r\n
key:value\r\n
key:value\r\n
\r\n
請求體的內容

-響應頭:
響應首行 http/1.1 200 ok \r\n
響應頭: key:value\r\n
\r\n
響應體: html的程式碼
-狀態碼: 1開頭 2開頭 3開頭 4開頭 5開頭
4 python中主流web框架
a socke
b 路由和檢視函式對映關係
c 模板的渲染
django uwsgi/wsgiref
flask
tornado
web2.py
5 django的安裝與使用
1 pip3 install django==1.11.9
2 django-admin startproject 專案名字
3 切到專案裡python3 mangage.py startapp app的名字
4 pycharm開啟專案,啟動專案,點綠色三角
5 執行專案:python3 manage.py runserver 127.0.0.1:8006
python3 manage.py runserver 8006
python3 manage.py runserver
6 目錄結構:
1 工程名的資料夾:settings:全域性配置
urls:路由根檢視函式對映關係
app名字的資料夾:views:檢視函式 models:orm關係對映


今天內容:
1 django中app的概念:
大學:----------------- 專案
資訊學院 ----------app01
物理學院-----------app02
****強調***:建立了app,要在配置檔案中註冊
...
2 模板路徑配置:
1 templates資料夾
2 settings裡註冊一下

3 靜態檔案配置:
1 STATIC_URL = '/static/' 一般不要改
2 建立一個static資料夾 一般不要改
3 STATICFILES_DIRS=[
os.path.join(BASE_DIR, 'static'), 建立的資料夾路徑(可以寫多個)
]

4 完整版登入功能
1 login.html
***重點***1 action:提交到後臺的地址三種寫法:
1 http://127.0.0.1:8000/login
2 /login/ 推薦用
3 空
2 method post方式
3 <input type="submit" value="提交">或<button></button>
type不可以是button
<form action="http://127.0.0.1:8000/login" method="post">
<p>使用者名稱:<input type="text" name="name" class="form-control"></p>
<p >
密碼:<input type="password" name="pwd" class="form-control">
</p>
<input type="submit" value="提交">
</form>
2 檢視層:
1 request.method ----前臺提交過來請求的方式
2 request.POST(相當於字典)----post形式提交過來的資料,(http請求報文的請求體重)
3 request.POST.get('name') ----推薦用get取值(取出列表最後一個值)
4 request.POST.getlist('name')-----取出列表所有的值_
5 前臺get方式提交的資料,從request.GET字典裡取
3 連結資料庫(防止注入,推薦以下寫法)
cur.execute('select * from user where name=%s and password=%s ',[name,pwd])

5 get請求和post請求
get:獲取資料,頁面,攜帶資料是不重要的資料(資料量有大小限制)
post:往後臺提交資料
6 新手三件套總結
1 render--返回頁面
預設會去templates裡找,注意路徑
2 redirect--重定向
3 HttpResponse
本質:都是返回HttpResponse的物件

7 pycharm連線mysql

8 orm介紹
1 ORM即Object Relational Mapping,全稱物件關係對映。
優點:
1 不用寫sql,不會sql的人也可以寫程式
2 開發效率高
2 缺點:
1 可能sql的效率低
3 如何使用:
如果連線mysql:在setting裡配置:
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': 'admin',
'NAME': 'lqz',
}
在app下的__init__.py裡寫:
import pymysql
pymysql.install_as_MySQLdb()

4 django-orm:
1 不能建立資料庫(需要手動建立資料庫)
2 可以建立資料表
3 可以建立欄位

5 資料庫遷移
1 python3 manage.py makemigrations ----記錄一下資料庫的變化
2 python3 manage.py migrate ----將變化同步到資料庫中


9 orm建立表


10 作業:
1 登入功能,寫完
2 講的內容整理部落格
3 把圖書館管理系統的查,改成orm版