一個初學者的辛酸路程-初識Django

前言:

 主要是關於JavaScript的高級部分以及Djangohtml

 

主要內容:

 1、jQuerypython

  事件綁定:web

  DOM事件綁定: -直接在標籤上綁定數據庫

    第一種:django

    $('.title').click(function(){服務器

    //thisapp

    var v = $(this).text();框架

    console.log(v);dom

})socket

    第二種:

    $('.title').bind('click',function(){

    var v = $(this).text();

})

    第三種:

    $('.c1').delegate('.title','click',function(){

    var v = $(this).text();

})

    第四種:

    $('.c1').on('click','.title',function(){

      var v = $(this).text();

})

  分析:

  上面的3個在內部調用的其實就是第4個。

前面2個是直接綁定,後面2個是委託綁定。

 

  下面是HTML的標籤:

  

               <div class='c1'>
                    <div>
                        <div class='title'>菜單一</div>
                        <div class='content'>內容 一</div>
                    </div>
                    <div>
                        <div class='title'>菜單一</div>
                        <div class='content'>內容 一</div>
                    </div>
                    <div>
                        <div class='title'>菜單一</div>
                        <div class='content'>內容 一</div>
                    </div>
                    <div>
                        <div class='title'>菜單一</div>
                        <div class='content'>內容 一</div>
                    </div>
                </div>

 

2、JavaScript高級

頁面框架加載完成,使用:但願查看頁面當即執行的操做

$(function(){

  ......

})

 

阻止默認事件

return false;

例如:

 

3、web框架本質

就是socket

4、Django

一、Django請求生命週期?

客戶端,服務器端,服務器端最前面有個URL,好比定義了一個/index,它對應了一個函數f1()  ,一個一個對應關係就相似這樣子,程序運行起來,對應關係就放在服務器內存了,有人請求,就一個一個匹配,匹配成功了,那就觸發相對應的函數執行就能夠了。
那麼這個函數給我返回的內容是什麼?返回的是字符串
 
->URL對應關係(匹配) -》視圖函數(views)-》返回給用戶字符串
>URL對應關係(匹配) -》視圖函數(views)-》打開一個HTML文件,讀取內容
 
二、建立Django project
django-admin startproject mysite
cd mysite
python manage.py startapp cmdb
 
mysite:
配置文件相關:
  • url.py    settings.py
  • 建立APP的時候
  • views.py
  • admin.py
  • models.py 建立數據庫表,用它來操做數據庫表
三、配置
模板路徑
靜態文件路徑
四、編寫程序
a  url.py
/index/ 對應一個函數func
b    views.py
  •  def  func(request):
  • #包含全部的請求數據
  • return HttpResponse(字符串)
  • return   render(request,index.html ,{‘ ’})
  • return  redirect (‘URL’)
c   模板語言
return render(request,'index.html',{'li':[11,22,33]})
for循環
{% for item in  %}
{% endfor %}
 
====索引用的是點=====
{{ item.0 }}
 
一、快速建立一個Django項目
①使用命令,建立APP
 
②、新建一個static目錄
③、修改配置,從上往下修改,setting.py文件
註釋掉下面這行
  1. # 'django.middleware.csrf.CsrfViewMiddleware',
新增路徑
  1. STATICFILES_DIRS = (
        os.path.join(BASE_DIR,'static'),
    )
④、寫URL
業務是寫在APP裏面的,因此先在APP下面的view.py寫以下
  1. from django.shortcuts import render,HttpResponse
     
    # Create your views here.
     
    def index(request):
        return HttpResponse('index')
而後在URL寫入
  1. from app01  import views
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^index/', views.index),
    ]
 而後把程序啓動起來
 
提交,get提交放在URL上面,post提交放在內容裏面
 
GET:   獲取數據
POST: 提交數據
 
二、寫個項目
提交表單,跳轉
須要有的就是一個登錄界面,放在templates裏面
  1. <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="/login/" method="POST">
        <p>
            <input type="text" name="user" placeholder="用戶名">
       </p>
        <p>
            <input type="password" name="pwd" placeholder="密碼">
        </p>
        <p>
            <input type="submit" value="提交">
        </p>
    </form>
    </body>
    </html>
修改app01裏面的views.py
  1. from django.shortcuts import render,HttpResponse,redirect
     
    # Create your views here.
     
    def index(request):
        return HttpResponse('index')
     
    def login(request):
        if request.method == "GET":
            return render(request,'login.html')
        elif request.method == "POST":
            u = request.POST.get('user')
            p = request.POST.get('pwd')
            if u == 'alex' and p == '123':
                return redirect('/index/')
            else:
                return render(request,'login.html')
        else:
            return redirect('/index/')
修改urls.py
  1. from django.conf.urls import url
    from django.contrib import admin
     
    from app01  import views
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^index/', views.index),
        url(r'^login/', views.login),
    ]
這樣就能夠了。
實現效果以下,登錄用戶名認證後跳轉到index頁面
 
 
 
over
相關文章
相關標籤/搜索