$Django-setting.py配置 ,GET、POST深入理解,三件套,orm物件關係對映簡介
阿新 • • 發佈:2018-11-06
1 django中app的概念:
大學:----------------- 專案
資訊學院 ----------app01
物理學院-----------app02
****強調***:建立的每一個app,都要在配置檔案中註冊
cmd建立的app要在setting.py中配置
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字典裡取
5 get請求和post請求 ( 在瀏覽器中輸入網址訪問資源都是通過GET方式;在FORM提交中,可以通過Method指定提交方式為GET或者POST,預設為GET提交。 ) 傳輸資料的大小:首先宣告:HTTP協議沒有對傳輸的資料大小進行限制,HTTP協議規範也沒有對URL長度進行限制,特定瀏覽器和伺服器對URL長度有限制。
get:獲取資料,頁面,攜帶資料是不重要的資料(資料量有大小限制)
post:往後臺提交資料 ,由於不是通過URL傳值,理論上資料不受限。但實際各個WEB伺服器會規定對post提交資料大小進行限制,Apache、IIS6都有各自的配置。
6 新手三件套總結
1 render--返回頁面
預設會去templates裡找,注意路徑
2 redirect--重定向
3 HttpResponse
本質:都是返回HttpResponse的物件 7 pycharm連線mysql
pycharm右邊的Database
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 ----將變化同步到資料庫中
大學:----------------- 專案
資訊學院 ----------app01
物理學院-----------app02
****強調***:建立的每一個app,都要在配置檔案中註冊
cmd建立的app要在setting.py中配置
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
'app02',
]
2 模板路徑配置:
1 templates資料夾
2 settings裡註冊一下
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join (BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
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字典裡取
5 get請求和post請求 ( 在瀏覽器中輸入網址訪問資源都是通過GET方式;在FORM提交中,可以通過Method指定提交方式為GET或者POST,預設為GET提交。 ) 傳輸資料的大小:首先宣告:HTTP協議沒有對傳輸的資料大小進行限制,HTTP協議規範也沒有對URL長度進行限制,特定瀏覽器和伺服器對URL長度有限制。
get:獲取資料,頁面,攜帶資料是不重要的資料(資料量有大小限制)
post:往後臺提交資料 ,由於不是通過URL傳值,理論上資料不受限。但實際各個WEB伺服器會規定對post提交資料大小進行限制,Apache、IIS6都有各自的配置。
6 新手三件套總結
1 render--返回頁面
預設會去templates裡找,注意路徑
2 redirect--重定向
3 HttpResponse
本質:都是返回HttpResponse的物件 7 pycharm連線mysql
pycharm右邊的Database
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 ----將變化同步到資料庫中