Python Django 學習筆記(一)-------Django基本操作及後端get解析
1.需求
釋出會簽到系統,嘉賓(Guest)管理和釋出會(Event)管理,增加發佈會搜尋和嘉賓搜尋功能
1.1前端實現嘉賓搜尋介面(guest_manage.html):
<!--嘉賓管理搜尋表單-->
<!--根據name屬性中初始值“name”來獲取輸入查詢引數-->
<div class="page-header" style="padding-top:60px;">
<div id="navbar" class="navbar-collapse collapse">
<form class="navbar-form" method="get" action="/guest_search_name/">
<div class="form-group">
<input name="name" type="text" placeholder="名稱" class="form-control">
</div>
<button type="submit" class="btn btn-success" >搜尋</button>
</form>
</div>
</div>
1.2後端接收前段輸入並處理(views.py):
# 嘉賓名稱搜尋
@login_required
def guest_search_name(request):
username = request.session.get('user', '')
print(username)
# ***********************************************************
# < !--根據name屬性中初始值“name”來獲取輸入查詢引數,此處name為前端引數name對應的初始name值,根據初始值去獲取對應輸入name值
# 這樣做的好處:當存在多個name輸入時,可以根據各個input name的初始值去獲取對應的輸入值 -->
search_name = request.GET.get('name','')
print(search_name)
guest_list = Guest.objects.filter(realname__contains=search_name)
print (guest_list)
return render(request,"guest_manage.html",{"user":username,
"guests":guest_list})
1.3特殊說明
後端解析輸入name並進行filter,search_name = request.GET.get(‘name’,”),其中get屬性中對應name為前端html中input name中name的初始值。如:name=”first_name”,則後端get時為:get(“first_name”);
判斷依據為:
根據name初始值和name屬性獲取對應input name值。
常見問題已解決方法:
Django應用建立
1.安裝django:pip install django
2.建立guest專案:django-admin startproject guest
3.建立sign應用:python manage.py startapp sign(sign中包含Guest和Event,嘉賓和釋出會物件)
開啟Django服務
1.cd C:/python36/Script/Guest
2.python migrate.py runserver
登陸mysql報Can’t connect to MySQL server (10060)問題
1.先看看mysql服務是否開啟,埠是否佔用
2.關閉windows防火牆,登陸mysql後再開啟
前端bootstrap3框架安裝
1.pip install django-bootstrap3
2.在setting.py檔案中,新增bootstrap應用,與新增guest應用方法一致
Django檔案解釋
views.py:後臺呼叫templates檔案中前端html檔案實現呼叫功能,用於控制前端頁面顯示的內容
models.py:django模型檔案,建立應用程式資料表模型(資料庫表建立)
admin.py:django自帶預設admin後臺
url.py:url路徑註冊,使用正則表示式匹配
templates:內部為前端html頁面