知識點

一、路由系統

         1、默認處理函數

         2、動態URL

         3、分級匹配

         4、基於反射(瞭解)

參數傳遞:user_list/(?P<v1>\d+)/(?P<v2>\d+) 字典+正則表達式

                   url(r'^app01/',include("app01.urls"))

按照不同的app請求,傳遞到不同的app裏面

例如:

         urls:

from django.conf.urls import include,url
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(
r'^admin/', admin.site.urls),
    url(
r'^app01/', include("app01.urls")),
]
     app01 urls:
from django.conf.urls import include,url
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(
r'^index/', views.index),
]
     app01 views:
def index(request):
   
return HttpResponse('OK')

 

二、中間件

 process_request->process_views->views

process_exception:程序報錯在執行.

                            spacer.gif

請求進入->按順序執行中間件->mmm的request->xxx的request->mmm的view->xxx的view->Django處理->如果報錯->執行xxx的ex(如果處理,那麼就不執行mmm的ex,如果不處理,那麼繼續執行mmm的ex)->執行xxx的respons->執行mmm的response->返回給客戶端

 

三、Model(*)

         1、創建表

         2、操作表數據

四、Form*

         1、用戶提交數據驗證

         2、生成html標籤

五、cookie session

        cookie:保存於本機

         session:保存於服務器

         1、自動生成一段字符串

         2、將str發送客戶端瀏覽器,同時將字符串當作key放置session

         3、在用戶的session對應的value裏設置任意值

spacer.gif

spacer.gif

 

退出:

         delrequest.session['IS_LOGIN']

設置cookie時間:

         session_cookie_age  5  :5

六、跨站請求僞造,跨站腳本***

七、Ajax請求

views裏面的方法:

         import json
def ajax_data_set(request):
    ret = {'status': True, 'error':""}
    try:

        print request.POS
    except Exception,e:
        ret['status'] = False
        ret['error'] = str(e)

    return HttpResponse(json.dumps(ret))

 

function

            function AjaxSubmitSet(){

           var array_users= [

                {'username': 'alex', 'age':18},

                {'username': 'rain', 'age':16},

                {'username': 'eric', 'age': 17}

           ];

           $.ajax({

                url:"/ajax_data_set/",

                type: 'POST',

                tradition: true,

                data: {data:JSON.stringify(array_users)},

                success: function(arg){

                    // json.loads

                    var callback_dict =$.parseJSON(arg);

                    if(callback_dict.status){

                        alert('成功');

                    }else{

                       alert(callback_dict.error);

                    }

                }

           });

       }

八、dadmin

九、緩存

         1、配置

CACHES = {

    'default': {

        'BACKEND':'django.core.cache.backends.filebased.FileBasedCache',

        'LOCATION': os.path.join(BASE_DIR,'cache'),

        'TIMEOUT': 600,

        'OPTIONS': {

            'MAX_ENTRIES': 1000

        }

    }

} 

2、應用

from django.shortcutsimport render, HttpResponse

fromdjango.views.decorators.cache import cache_page

 

@cache_page(60 *15)

def func(request):

    return HttpResponse('xxx')


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章