Django框架

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才能夠訪問正常。

相關文章
相關標籤/搜索