標籤:ble padding run 新版 arm NPU == 時間 ddl
django實現流程
Django學習架構:
#安裝: pip3 install django
添加環境變數
#1 建立project
django-admin startproject mysite
---mysite
---settings.py
---url.py
---wsgi.py
---- manage.py(開機檔案)
#2 建立APP
python mannage.py startapp app01
#3 settings配置 【Static files (CSS, JavaScript, Images)】
TEMPLATES
STATICFILES_DIRS=(
os.path.join(BASE_DIR,"statics"),
)
STATIC_URL = ‘/static/‘
# 我們只能用 STATIC_URL,但STATIC_URL會按著你的STATICFILES_DIRS去找
#4 根據需求設計代碼
url.py
view.py
#5 使用模版
render(req,"index.html")
#6 啟動項目
python manage.py runserver 127.0.0.1:8080
#7 串連資料庫,操作資料
model.py
Django的安裝及項目建立
安裝: pip3 install django
建立Django項目mysite以及子項目blog
專案檔介紹
初試牛刀
案例一:基本使用
settigs.py: 更改Django2.0.1的配置,更新為之前的路徑配置
‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)], # Django以前版本
views.py
from django.shortcuts import render, HttpResponse# request裡面封裝了請求的所有的資訊# HttpResponse:跟request一樣,返回的資訊,可以呈現給頁面def hello(request): return HttpResponse(‘<h1>hello world</h1>‘) # 多了一層HTML渲染
mysite2/urls.py
from django.contrib import adminfrom django.urls import pathfrom blog import viewsurlpatterns = [ path(‘admin/‘, admin.site.urls), path(r‘hello/‘, views.hello) # 將路徑名跟函數進行映射]
]
啟動服務端:
python manage.py runserver 8080
另一種啟動方式:pycharm提供,預設8000連接埠,可以進行修改,本文用8080
注意:[如果有修改內容,修改後可以直接在瀏覽器內運行,python內部已經處理]
介面呈現:
案例二: 調用HTML實現頁面渲染
settigs.py:更改Django2.0.1的配置,更新為之前的路徑配置
‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)], # 設定templates的路徑為Django以前版本# ‘DIRS‘: [], # 注釋掉該行,此為Django 2.0.1最新版本# ‘django.middleware.csrf.CsrfViewMiddleware‘, # 注釋掉該行
mysite2/urls.py
from django.contrib import adminfrom django.urls import pathfrom blog import viewsurlpatterns = [ path(‘admin/‘, admin.site.urls), path(r‘hello/‘, views.hello) # 將路徑名跟函數進行映射
templates/today.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Django項目</title></head><body><h1> hello world, 早安,世界</h1><h2> 現在是北京時間:{{ today }}</h2></body></html>
views.py
from django.shortcuts import renderimport datetime# request裡面封裝了請求的所有的資訊def hello(request): # render底部是調用HttpResponse來實現渲染的,Django裡面返回給頁面的都是HttpResponse對象 # render(): 用來渲染瀏覽器顯示,配合HTML實現資料的交換 # 這裡第一個參數必須是rquest, 第二個參數是我們頁面HTML的名稱, 第三個參數是傳遞的參數 # 這裡直接寫HTML名稱是因為Django將參數封裝再來settings.py檔案內 # ‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)], # Django以前版本 today = datetime.datetime.now() return render(request, "today.html", {"today": today})
頁面呈現
案例三:接收前台資料並返回前台資料
settigs.py:更改Django2.0.1的配置,更新為之前的路徑配置
‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)], # 設定templates的路徑為Django以前版本# ‘DIRS‘: [], # 注釋掉該行,此為Django 2.0.1最新版本# ‘django.middleware.csrf.CsrfViewMiddleware‘, # 注釋掉該行
views.py
from django.shortcuts import render, HttpResponseimport datetimedef userInfo(request): user_list = [] # 這裡需要判斷前台資料提交的方法是POST還是GET的[大寫] if request.method == "POST": username = request.POST.get("username", None) sex = request.POST.get("sex", None) email = request.POST.get("email", None) user = {"username": username, "sex": sex, "email": email} print(user) user_list.append(user) return render(request, ‘index.html‘, {"user_list": user_list}) # 用{}傳遞一個對象給前端
mysite2/urls.py
from django.contrib import adminfrom django.urls import pathfrom blog import viewsurlpatterns = [ path(‘admin/‘, admin.site.urls), path(r‘userInfo/‘, views.userInfo), # 將路徑名跟函數進行映射]
templates/index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"></head><body> <form method="post" action="/userInfo/" name="userInfo"> <p>姓名<input type="text" name="username"></p> <p>性別<input type="text" name="sex"></p> <p>郵箱<input type="text" name="email"></p> <p><input type="submit" value="提交"></p> </form><hr><hr> <table border="1"> <tr> <th>姓名</th> <th>性別</th> <th>郵箱</th> </tr> {% for i in user_list %} {#Django裡面封裝的模版文法,用於for迴圈#} <tr> {# 這裡是變數,所以需要2個{}來進行變數引用[規定的] #} <th>{{ i.username }}</th> {# 這裡類似字典的取值 i[username] #} <th>{{ i.sex }}</th> {# 這裡類似i[sex] #} <th>{{ i.email }}</th> {# 這裡類似i[email] #} </tr> {% endfor %} {# 注意結束for迴圈 #} </table></body></html>
頁面呈現
另:如果前台認證錯誤,則需要更改一個django安全的配置
settings.py
Python學習---Django的基礎學習