七日Python之路--第十一天

(一)關於模板,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

相關文章
相關標籤/搜索