(一)關於模板,Templatecss
能夠在項目根目錄下的settings.py 配置文件中,聲明
html
import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) TEMPLATE_DIRS = os.path.join(BASE_DIR, 'templates')
這樣模板的默認搜索就是在根目錄的'templates'文件下進行尋找。python
可是,感受仍是不聲明,直接使用默認的搜索路徑比較好。當不進行聲明時,默認搜索路徑是相應的app應用目錄下的‘templates’文件夾下。django
(二)關於默認DEBUG模式,及出錯界面app
是否啓用Debug模式,能夠這樣來判斷socket
import socket if socket.gethostname() == 'xxx-pc': DEBUG = True else: DEBUG = False
當啓用DEBUG模式時,出錯界面採用系統自帶的。當關閉DEBUG模式時,會在模板根目錄下搜尋出錯頁。所以可在‘templates’下定義404.html,500.html等自定義出錯頁。post
還有就是。當DEBUG模式關閉時,須要設置ui
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
(三)關於靜態文件,css,js etc.code
Django1.6 建立默認在settings.py 中orm
STATIC_URL = '/static/'
這樣只須要在相應的app下面新建‘static’文件夾便可。
靜態文件在html文件中的引用,能夠使用
{% load staticfiles %} {% static 'boostrap.css' %} <!-- 這樣就能引用靜態文件了 -->
(四)關於表單form的csrf
須要在views.py 文件中這樣處理
from django.core.context_processors import csrf def register(req): if req.method == 'POST': form = UserForm(req.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = User(username=username, password=password) user.save() return HttpResponseRedirect('/blog/login/') else: form = UserForm() context = {'form':form} context.update(csrf(req)) return render_to_response('register.html',context)
<form method='post'>{% csrf_token %} {{form.as_p}} <input type='submit'> </form>
這樣處理request的返回context便可。
(五)關於form表單的建立
能夠使用 forms.Form 或 forms.ModelForm
#coding=utf-8 from django import forms from models import Comment # class CommentForm(forms.Form): # name = forms.CharField(max_length=20, label=u'暱稱', error_messages={'required': '請輸入姓名'}) # address = forms.CharField(max_length=20, label=u'地址', required=False) # email = forms.EmailField(label=u'郵件', required=False) # context = forms.CharField(label=u'評論', widget=forms.Textarea) class CommentForm(forms.ModelForm): class Meta: model = Comment fields = ['name', 'address', 'email', 'context'] labels = { 'name': u'暱稱', 'address': u'地址', 'email': u'郵件', 'context': u'評論', } widgets = { # 'context': forms.Textarea(attrs={'cols': 80, 'rows': 20}) 'context': forms.Textarea, # 'article': forms.HiddenInput, } error_messages = { 'name': { 'required': u'請輸入姓名' } } help_texts = { }
ok,先這樣。
--2014年08月08日22:00:25
(六)關於過濾器
{{ name|lower }} {{ pub_date|date:"F j, Y" }}
具體用法,還有待研究!!!
唉,如今回想那天的文章。難免感受本身仍是太悶了。只是一味的低沉,人生更多的是須要積極與樂觀,不虛度年華。今天早點睡覺吧。熬夜是對本身身體的不負責任! -- 2014年08月08日23:35:24