一、表單
1、request
request包含一些屬性和方法:request.path,.get_host()等等
request.meta中包含了本次http請求的header資訊,常用的鍵值包括:http_referer,http_user_agent,remote_addr
使用如下例:
2、表單的屬性
views.py裡:
from django.shortcuts import render_to_response
def search_server_form(request):
return render_to_response('search_server.html')
urls.py裡:
from rasp_test import views
urlpatterns = patterns('',
# ...
(r'^search_server_form/$', views.search_server_form),
# ... )
4、資料查詢
在 search_server.html中,form的action屬性設為/search/,即返回到/search/頁面,所以在urls.py中增加
(r'^search/$', views.search),
然後在views.py中增加search函式
from models import ipv4server as ipv4server
def search(request):
if 'q' in request.get and request.get['q']:
q=request.get['q']
ipv4servers=ipv4server.objects.filter(type__icontains=q)
return render_to_response('search_result.html',)
else:
return render_to_response('search_server.html',)
然後編寫search_result.html1 2
5 6 you searched for :}
7
8
13
14 no ipv4servers matched your search criteria.
15
16 17
在search_server.html中也進行修改
please submit a search term.
5、簡化
def search(request):
error = false
if 'q' in request.get:
q = request.get['q']
if not q:
error = true
else:
ipv4servers = ipv4server.objects.filter(type__icontains=q)
return render_to_response('search_results.html',
) return render_to_response('search_server.html',
) 省去了search_server_form()函式,在urls.py中也省去了相關url,單在/search/上進行操作,所以表單的action屬性可刪除。
6、django的form框架(略)
二、高階url配置
1、使用多個檢視字首
from django.conf.urls.defaults import *
urlpatterns = patterns('mysite.views', //利用字串技術將共同字首提取出來
(r'^hello/$', 'hello'),
(r'^time/$', 'current_datetime'),
(r'^time/plus/(\d)/$', 'hours_ahead'), )
urlpatterns += patterns('weblog.views',
(r'^tag/(\w+)/$', 'tag'), )
2、傳遞額外的引數至檢視函式中
# urls.py
from django.conf.urls.defaults import *
from mysite import views
urlpatterns = patterns('',
(r'^(foo)/$', views.foobar_view),
(r'^(bar)/$', views.foobar_view), )
# views.py
from django.shortcuts import render_to_response
from mysite.models import mymodel
def foobar_view(request, url):
m_list = mymodel.objects.filter(is_new=true)
if url == 'foo':
template_name = 'template1.html'
elif url == 'bar':
template_name = 'template2.html'
return render_to_response(template_name, )
Django學習筆記第2記
一 模板 1 模板渲染 python manage.py shell from django.template import template,context template定義形式,context定義內容 t template c context print t.render c render為...
Mysql實戰45講第4,5 講學習筆記
二.innodb的索引模型 三.常見問題及答案 優點 雜湊表以key value 儲存,這種結構適合等值查詢的場景,比如memached以及其他的nosql 引擎。缺點 做區間查詢,需要全部掃瞄 有序陣列只適用於靜態儲存引擎,比如儲存一些不會修改的資料 優點 有序陣列在 等值查詢和區間查詢的時候表現...
Django學習筆記
django web程式設計思路 global setting run server check environment start project django admin.py startproject mysite 生成專案檔案 manage.py 檔案基本就是 django admin.py...