django-admin startproject test3javascript |
cd test3 html python manage.py startapp booktestjava |
def index(request): python return HttpResponse("視圖函數index")mysql |
from django.conf.urls import include, url jquery from django.contrib import admin ajax
urlpatterns = [ 正則表達式 url(r'^admin/', include(admin.site.urls)),sql url(r'^', include('booktest.urls')), #這句代碼是新加入的,包含booktest應用中的urls文件 數據庫 ]
|
from django.conf.urls import url #導入url函數
from booktest import views #導入視圖模塊
urlpatterns = [ url(r'^$', views.index), #創建url和views.index視圖函數的關聯 ]
|
url(r'^delete(\d+)/$',views.show_arg), |
def show_arg(request,id): return HttpResponse('show arg %s'%id) |
# 其中?P部分表示爲這個參數定義的名稱爲id,能夠是其它名稱,起名作到見名知意。 url(r'^delete(?P<id1>\d+)/$',views.show_arg), |
# 注意:視圖show_arg此時必需要有一個參數名爲id1,不然報錯。 def show_arg(request,id1): return HttpResponse('show %s'%id1) |
dict.get('鍵',默認值) # 可簡寫爲 dict['鍵'] |
dict.getlist('鍵',默認值) |
def get_cookie(request): """獲取 cookie 值""" response = HttpResponse("<h1>獲取 cookie 值</h1><br />") if 'username' in request.COOKIES: response.write("<h2>username: " + request.COOKIES['username'] + "</h2>") else: response.write("用戶名不存在") return response |
from django.template import RequestContext, loader ... def index3(request): #加載模板 t1=loader.get_template('booktest/index3.html') #構造上下文 context=RequestContext(request,{'h1':'hello'}) #使用上下文渲染模板,生成字符串後返回響應對象 return HttpResponse(t1.render(context)) |
from django.shortcuts import render ... def index3(request): return render(request, 'booktest/index3.html', {'h1': 'hello'}) |
url(r'^login$', views.login), |
def login(request): """顯示登陸界面""" print(request.method) return render(request, 'booktest/login.html') |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登陸頁面</title> </head> <body> <form method="post", action="/login_check"> 用戶名:<input tyep='text' name='username'><br/> 密碼:<input type='password', name='password'><br/> <input type='submit' value='登陸'> </form> </body> </html> |
url(r'^login_check$', views.login_check), |
def login_check(request): """登陸校驗視圖""" # request.POST 保存的是 post 方式提交的參數,類型爲 QueryDict # request.GET 保存的是 get 方式提交的參數, 類型爲 QueryDict # 獲取提取的用戶名和密碼 username = request.POST.get('username', 'default') password = request.POST.get('password', 'default') print(username + ':' + password) # 進行檢驗 if(username == 'admin' and password == '123'): # 用戶名或密碼正確 return redirect("/index") else: return redirect("/login") |
STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ] |
url(r'^login_ajax$', views.login_ajax), |
def login_ajax(request): """ajax 登陸界面""" return render(request, 'booktest/login_ajax.html') |
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title>登陸頁面</title> <script src='static/js/jquery-1.12.4.min.js'></script> <script> $(function(){ $('#btn').click(function(){ username = $('#username').val() password = $('#password').val() $.ajax({ 'url': '/login_ajax_check', 'type': 'post', 'data': {'username': username, 'password': password}, 'dataType': 'json', }).success(function(data){ // {'res': 1} 表示登陸成功 // {'res': 0} 表示登陸失敗 if(data.res == 1){ location.href = '/index' } else{ $('#message').show() } }) }) }) </script> <style> #message{ display:none; color: red; } </style> </head> <body> <div> 用戶名:<input tyep='text' id='username'><br/> 密碼:<input type='password' id='password'><br/> <input type='button' id='btn' value='登陸'> <div id="message">用戶名或密碼錯誤</div> </div> </body> </html>
|
url(r'^login_ajax_check$', views.login_ajax_check), |
def login_ajax_check(request): """ajax 登陸界面用戶名和密碼檢查""" username = request.POST.get('username') password = request.POST.get('password') if(username == 'admin' and password == '123'): # 用戶名或密碼正確 return JsonResponse({'res': 1}) else: return JsonResponse({'res': 0}) |
set_cookie(key, value='', max_age=None, expires=None) |
def cookie_set(request): response = HttpResponse("<h1>設置Cookie,請查看響應報文頭</h1>") response.set_cookie('h1', '你好') return response |
url(r'^cookie_set/$',views.cookie_set), |
def cookie_get(request): response = HttpResponse("讀取Cookie,數據以下:<br>") if 'h1' in request.COOKIES: response.write('<h1>' + request.COOKIES['h1'] + '</h1>') return response |
url(r'^cookie_get/$',views.cookie_get), |
SESSION_ENGINE='django.contrib.sessions.backends.db' |
SESSION_ENGINE='django.contrib.sessions.backends.cache' |
SESSION_ENGINE='django.contrib.sessions.backends.cached_db' |
request.session['鍵']=值 |
request.session.get('鍵',默認值) |
request.session.clear() |
request.session.flush() |
del request.session['鍵'] |
request.session.set_expiry(value) # 若是value是一個整數,會話將在value秒沒有活動後過時 # 若是value爲0,那麼用戶會話的Cookie將在用戶的瀏覽器關閉時過時 # 若是value爲None,那麼會話永不過時 |
def session_test(request): request.session['h1']='hello' return HttpResponse('寫session') |
url(r'^session_test/$',views.session_test), |
def session_test(request): # request.session['h1']='hello' h1=request.session.get('h1') return HttpResponse(h1) |
def session_test(request): # request.session['h1']='hello' # h1=request.session.get('h1') del request.session['h1'] return HttpResponse('ok')
|
def session_test(request): # request.session['h1']='hello' # h1=request.session.get('h1') # del request.session['h1'] request.session.flush() return HttpResponse('ok') |