Time of Update: 2016-06-10
你應該在生產環境中把TEMPLATE_DEBUGFalse 如果這個設為`` True`` ,為了在那個好看的錯誤頁面上顯示足夠的東西,Django的模版系統就會為每一個模版儲存一些額外的資訊。實現一個404模板如果`` DEBUG`` 設定為`` True`` ,Django會顯示那個內建的404錯誤頁面。 但如果`` DEBUG`` 被設定成`` False`` ,那它的行為就不一樣了: 他會顯示一個在你的模版根目錄中名字叫`` 404.html`` 的模版
Time of Update: 2016-06-10
便攜文檔格式 (PDF) 是由 Adobe 開發的格式,主要用於呈現可列印的文檔,其中包含有 pixel-perfect 格式,嵌入字型以及2D向量映像。 You can think of a PDF document as the digital equivalent of a printed document; indeed, PDFs are often used in distributing documents for the purpose of printing
Time of Update: 2016-06-10
Django帶來了一個進階的彙總產生架構,它使得建立RSS和Atom feeds變得非常容易。什麼是RSS? 什麼是Atom?RSS和Atom都是基於XML的格式,你可以用它來提供有關你網站內容的自動更新的feed。 瞭解更多關於RSS的可以訪問 http://www.whatisrss.com/, 更多Atom的資訊可以訪問 http://www.atomenabled.org/.想建立一個聯合供稿的源(syndication feed),所需要做的只是寫一個簡短的python類。
Time of Update: 2016-06-10
為了配置基於 mod_python 的 Django,首先要安裝有可用的 mod_python 模組的 Apache。 這通常意味著應該有一個 LoadModule 指令在 Apache 設定檔中。 它看起來就像是這樣:LoadModule python_module /usr/lib/apache2/modules/mod_python.soThen, edit your Apache configuration file and add a directive that ties a
Time of Update: 2016-06-10
SessionMiddleware 啟用後,每個傳給視圖(view)函數的第一個參數``HttpRequest`` 對象都有一個 session 屬性,這是一個字典型的對象。 你可以象用普通字典一樣來用它。 例如,在視圖(view)中你可以這樣用:# Set a session value:request.session["fav_color"] = "blue"# Get a session value -- this could be called in a different view,#
Time of Update: 2016-06-10
從內部來看,每個session都只是一個普通的Django model(在 django.contrib.sessions.models 中定義)。每個session都由一個隨機的32位元組雜湊串來標識,並儲存於cookie中。 因為它是一個標準的模型,所以你可以使用Django資料庫API來存取session。>>> from django.contrib.sessions.models import Session>>> s =
Time of Update: 2016-06-10
許多共用主機的服務提供者不允許運行你自己的服務進程,也不允許修改 httpd.conf 檔案。 儘管如此,仍然有可能通過Web伺服器產生的子進程來運行Django。記錄如果你要使用伺服器的子進程,你沒有必要自己去啟動FastCGI伺服器。 Apache會自動產生一些子進程,產生的數量按照需求和配置會有所不同。在你的Web根目錄下,將下面的內容增加到 .htaccess 檔案中:AddHandler fastcgi-script .fcgiRewriteEngine OnRewriteCond %
Time of Update: 2016-06-10
Django 提供內建的視圖(view)函數用於處理登入和退出 (以及其他奇技淫巧),但在開始前,我們來看看如何手工登入和退出。 Django提供兩個函數來執行django.contrib.auth\中的動作 : authenticate()和login()。認證給出的使用者名稱和密碼,使用 authenticate() 函數。它接受兩個參數,使用者名稱 username 和 密碼 password ,並在密碼對給出的使用者名稱合法的情況下返回一個 User 對象。
Time of Update: 2016-06-10
有些時候,對整個經解析的頁面進行緩衝並不會給你帶來太多好處,事實上可能會過猶不及。比如說,也許你的網站所包含的一個視圖依賴幾個費時的查詢,每隔一段時間結果就會發生變化。 在這種情況下,使用網站級緩衝或者視圖級緩衝策略所提供的整頁緩衝並不是最理想的,因為你可能不會想對整個結果進行緩衝(因為一些資料經常變化),但你仍然會想對很少變化的部分進行緩衝。針對這樣的情況,Django提供了簡單低級的緩衝API。 你可以通過這個API,以任何你需要的粒度來緩衝對象。 你可以對所有能夠安全進行 pickle
Time of Update: 2016-06-10
限制訪問可以基於某種許可權,某些檢查或者為login視圖提供不同的位置,這些實現方式大致相同。一般的方法是直接在視圖的 request.user 上運行檢查。 例如,下面視圖確認使用者登入並是否有 polls.can_vote許可權:def vote(request): if request.user.is_authenticated() and request.user.has_perm('polls.can_vote')): # vote here else: return
Time of Update: 2016-06-10
Vary 頭部定義了緩衝機制在構建其緩衝索引值時應當將哪個要求標頭標考慮在內。 例如,如果網頁的內容取決於使用者的語言偏好,該頁面被稱為根據語言而不同。預設情況下,Django 的緩衝系統使用所請求的路徑(比如:"/stories/2005/jun/23/bank_robbed/" )來建立其緩衝鍵。這意味著每次請求都會使用同樣的緩衝版本,不考慮才用戶端cookie和語言配置的不同。 除非你使用Vary頭部通知緩衝機制頁面輸出要依據要求標頭裡的cookie,語言等的設定而不同。要在
Time of Update: 2016-06-10
本文執行個體講述了Python擷取央視節目單的方法。分享給大家供大家參考。具體如下:#! /usr/bin/python # -*- coding: utf-8 -*- import urllib,re,unicodedata,string,sys from time import strftime,localtime channel={"1":"CCTV-1","2":"CCTV-2","3":"CCTV-3","4":"CCTV-4亞洲",
Time of Update: 2016-06-10
管理認證系統最簡單的方法是通過管理介面。然而,當你需要絕對的控制權的時候,有一些低層 API 需要深入專研,我們將在下面的章節中討論它們。建立使用者使用 create_user 輔助函數建立使用者:>>> from django.contrib.auth.models import User>>> user = User.objects.create_user(username='john',... email='jlennon@beatles.com',...
Time of Update: 2016-06-10
關於緩衝剩下的問題是資料的隱私性以及在級聯緩衝中資料應該在何處儲存的問題。通常使用者將會面對兩種緩衝: 他或她自己的瀏覽器緩衝(私人緩衝)以及他或她的提供者緩衝(公用緩衝)。 公用緩衝由多個使用者使用,而受其他某人的控制。 這就產生了你不想遇到的敏感性資料的問題,比如說你的銀行帳號被儲存在公眾緩衝中。 因此,Web 應用程式需要以某種方式告訴緩衝那些資料是私人的,哪些是公用的。解決方案是標示出某個頁面緩衝應當是私人的。 要在 Django 中完成此項工作,可使用 cache_control
Time of Update: 2016-06-10
本文執行個體講述了Python實現的RSS閱讀器。分享給大家供大家參考。具體如下:# -*- coding:utf-8 -*-# file: pyRSS.py#import Tkinterimport urllibimport xml.parsers.expatclass MyXML: # XML解析類 def __init__(self, edit): self.parser = xml.parsers.expat.ParserCreate() # 產生XMLParser
Time of Update: 2016-06-10
本文執行個體講述了Python匯出DBF檔案到Excel的方法。分享給大家供大家參考。具體如下:from dbfpy import dbffrom time import sleepfrom win32com import clientdef dbf2xls(dbfilename, exfilename): db = dbf.Dbf(dbfilename, True) ex = client.Dispatch('Excel.Application') wk =
Time of Update: 2016-06-10
利用map和reduce編寫一個str2float函數,把字串'123.456'轉換成浮點數123.456from functools import reduce def str2float(s): return reduce(lambda x,y:x+int2dec(y),map(str2int,s.split('.')))def char2num(s): return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9
Time of Update: 2016-06-10
本文執行個體講述了Python自動掃雷實現方法。分享給大家供大家參考。具體如下:#pyWinmineCrack.py# coding: utf-8import win32guiimport win32processimport win32conimport win32apifrom ctypes import *#雷區最大行列數MAX_ROWS = 24MAX_COLUMNS = 30#雷區格子在表單上的起始座標及每個格子的寬度MINE_BEGIN_X = 0xCMINE_BEGIN_Y = 0
Time of Update: 2016-06-10
動態網站的問題就在於它是動態。 也就是說每次使用者訪問一個頁面,伺服器要執行資料庫查詢,啟動模板,執行商務邏輯以及最終產生一個你所看到的網頁,這一切都是動態即時產生的。 從處理器資源的角度來看,這是比較昂貴的。對於大多數網路應用來說,過載並不是大問題。 因為大多數網路應用並不是washingtonpost.com或Slashdot;它們通常是很小很簡單,或者是中等規模的網站,只有很少的流量。
Time of Update: 2016-06-10
認證支援中介軟體中介軟體類: django.contrib.auth.middleware.AuthenticationMiddleware . django.contrib.auth.middleware.AuthenticationMiddleware .這個中介軟體啟用認證支援功能. 它在每個傳入的 HttpRequest 對象中添加代表當前登入使用者的 request.user 屬性。 It adds the request.user attribute, representing