1、初識django:html
django是一門開放源代碼的,由Python編譯而成的一款web框架,它的模式是MTV(models templates views),使用框架的好處在於,裏面有好多集成好的東西,咱們能夠直接拿過來使用。下面咱們直接看如何建立以及使用django:前端
一、須要先安裝django模塊,pip3 install djangopython
二、接下來就是建立一個django項目,能夠直接在pycharm中選擇'file-->new progect'中選擇建立django項目,也可使用命令去建立:django-admin.py startproject mysite,這樣就會建立一個叫mysite的django項目。jquery
三、建立APP:web
cd mysite ==》 python3 manage.py startapp cmdb ajax
四、鏈接數據庫
在鏈接數據庫以前須要先註冊APP,註冊app是在settings文件中配置上APP的名稱就能夠。
執行命令須要建立數據庫:
python3 manage.py makemigrations
python3 manage.py migrate數據庫
五、幾個重要的文件:django
settings: 配置文件json
urls: 路由系統app
manage.py #django程序啓動文件
models: 建立數據庫表的文件
views: 處理用戶請求的問題
2、使用一個小例子,來講明django:
在你建立的mysite項目下面會有一個templates目錄,它下面主要放置的是接收用戶輸入的HTML文件,下面經過幾步來闡明一下若是使用django來完成一個簡單的操做:
一、首先讓咱們先在models裏面寫類生成表:
from django.db import models
#這裏建立的類就是表名,其實UserInfo就是Model的子類,裏面的對象就是字段
#字段的類型是string類型,最大的長度是32
class UserInfo(models.Model): user = models.CharField(max_length=32) passwd = models.CharField(max_length=32)
二、其次在templates目錄下建立一個index.html文件,文件內容以下:
1 <div> 2 <p>用戶名:<input type="text" id="username"/></p> 3 </div> 4 <div> 5 <p>密碼:<input type="password" id="pwd"/></p> 6 </div> 7 <input type="button" id='login' value="login" onclick="SubmitLogin();"/> 8 9 <script src="/fff/jquery-1.8.2.min.js"></script> 10 <script> 11 function SubmitLogin(){ 12 $.ajax({ 13 url: '/web/ajax/', 14 type: 'POST', 15 data: {'user': $('#username').val(),'pwd': $('#pwd').val(),'val':$('#login').val()}, 16 dataType: 'json', 17 success: function(data){ 18 if(data.status){ 19 location.href='/web/userinfo/'; 20 }else{ 21 alert(data.message); 22 } 23 } 24 }) 25 } 26 </script>
須要注意的是:我這裏直接使用的ajax來進行發送請求,其實還有一種方式就是我在input標籤中建立一個name屬性,而後在views文件中去調用這個name屬性的值,那麼仍是使用ajax比較簡潔易懂,裏面的內容先不看,ajax就是把用戶名和密碼經過字典的方式傳送過去,那麼views中的配置爲:
1 def ajax(request): 2 if request.method == 'POST': 3 ret = {'status':False,'message':''} 4 u = request.POST.get('user',None) 5 p = request.POST.get('pwd',None) 6 value = request.POST.get('val',None) 7 user_count = models.UserInfo.objects.filter(user=u).count() 8 pan = models.UserInfo.objects.filter(user=u,passwd=p).count() 9 10 if user_count <= 0: 11 if value == 'login': 12 ret['message'] = '用戶不存在' 13 return HttpResponse(json.dumps(ret)) 14 15 return render(request,'ajax_demo.html')
在這裏我只是簡單的判斷用戶名是否存在,若是不存在,就ret字符串傳送到前端頁面,前端頁面中success的部分就是處理來自views端傳過來的數據。
三、還有一個重要的部分須要咱們來進行操做,就是路由系統,來看下個人配置:
urlpatterns = [ url(r'^ajax/', views.ajax), ]
四、啓動django
屏幕輸出中會有讓咱們訪問的地址,基本上都是http://127.0.0.1:8000/,若是咱們直接這樣訪問的話,確定是出不來的,由於咱們沒有按照咱們路由系統裏面的設置去訪問,因此咱們須要在最後加上ajax 的url才能夠訪問正常。