Python Django 初試手記

2021-09-21 12:17:57 字數 3387 閱讀 3069

在06年因為試圖學習php而對python的介紹也看了看,不過當時沒有時間去認真學習一下,直到三年後的今天才又開始重新認識這門很有意思的語言。

因為需要做python的web開發,所以選擇了django這個框架,首先來介紹一下步驟吧。

python setup.py install,開始安裝。

安裝完畢後,建議檢查 

pythoninstalldir/scripts 目錄是否在你的 path 環境中,如果不在,建議將這個目錄設定到 path 中。因為如果你採用標準的 python 安裝方法,那麼 django 會自動在 scripts 目錄下安裝 

django-admin.py 程式。這樣,一旦你設定了 scripts 在 path 中,就可以在命令列下任何目錄中執行 

django-admin.py 了。

執行django-admin.py startproject test這樣就在當前目錄下建立了乙個test的工作目錄.

這個 test 將是我們以後工作的目錄,許多講解都是基於這個目錄的。

__init__.py

表示這是乙個 python 的包

manage.py

提供簡單化的 

django-admin.py 命令,特別是可以自動進行 

django_settings_modules 和 

pythonpath 的處理,而沒有這個命令,處理上面環境變數是件麻煩的事情

settings.py

它是django的配置檔案

uls.py

url對映處理檔案, karrigell 沒有這種機制,它通過目錄/檔案/方法來自動對應,而 django 的url對映是url對於某個模組方法的對映,目前不能自動完成

ok,開始啟動它吧

執行 manage.py runserver

一旦出現:

validating models...

0 errors found.

starting server on port 8000 with settings module 'newtest.settings'.

go to for django.

quit the server with control-c (unix) or ctrl-break (windows).

說明 django 真的啟來了。在瀏覽器中看一下,有乙個祝賀頁面,說明成功了。

現在開始構建我所要的東西吧。

add.py

# -*- coding: utf-8    -*- 

from django.shortcuts 

import render_to_response 

address = [ 

def index(request): 

return render_to_response('list.html',) 

第一行為了實現編碼統一,不然當頁面內有中文的時候會出現亂碼。

匯入了render_to_response 這個包,用來向頁面輸出模板檔案以及其內容

address作為乙個陣列,包含了我所要動態輸出的東西。

return render_to_response('list.html',)

向list.html頁面輸出address這個陣列的內容.

ok,讓我們來看看list.html,很簡單的乙個遍歷,從address陣列中獲取資料

<

h2>通訊錄

h2>

<

table

width

="100%"

cellpadding

="0"

cellspacing

="0"

id="tab"

>

<

tr>

<

thwidth

="17%"

>姓名

th>

<

thwidth

="17%"

>性別

th>

<

thwidth

="22%"

>年齡

th>

<

thwidth

="44%"

>位址

th>

tr>

<

tr>

<

td>` user`.`name `

td>

<

td>` user`.`*** `

td>

<

td>` user`.`age `

td>

<

td>` user`.`address `

td>

tr>

table

>

此外,要讓這個web應用成功的跑起來,需要做一些額外的配置.

修改urls.py

from django.conf.urls.defaults 

import * 

urlpatterns = patterns('', 

# example: 

(r'^add/$', 'newtest.add.index') 

# uncomment 

this

for admin: 

#         (r'^admin/', include('django.contrib.admin.urls')), 

這裡的(r'^add/$', 'test.add.index') 是為了對映我的add.py,當瀏覽器訪問

http://***/add時,就對應到了我之前的add.py

修改 settings.py,在template_dirs中增加乙個路徑,其中,我的list.html是放在當前目錄的templates下的。

template_dirs = ( 

# put strings here, like 

"/home/html/django_templates" or 

"c:/www/django/templates". 

# always use forward slashes, even on windows. 

# don't forget to use absolute paths, not relative paths. 

'./templates', 

)

最終,來看看結果吧. 很不錯的體驗,繼續學習。

APLIB測試手記

最近從網上down了aplib1.01版本的sdk下來,學習了下aplib的用法,通過測試,發現其壓縮還不錯的說 而且基於演算法,本身帶有簡單的加密功能,使用aplib後,也就可以自己弄個簡單的,壓縮 加密的小工具了 測試 如下 include stdafx.h include aplib.h in...

pgRouting 測試手記

pgrouting 測試手記 一 測試環境 postgresql 9.2 postgis 2.0.3 pgrouting pg92 binaries 2.0.0devw32 特別注意 pgrouting的函式每乙個版本的名稱都是不同的,如shortest path在其它版本中的命名不同,查詢方式是在...

GDB除錯手冊

linux 包含了乙個叫gdb 的gnu 除錯程式。gdb 是乙個用來除錯c和c 程式的強力偵錯程式。它使你能在程式執行時觀察程式的內部結構和記憶體的使用情況。以下是 gdb 所提供的一些功能 它使你能監視你程式中變數的值 它使你能設定斷點以使程式在指定的 行上停止執行 它使你能一行行的執行你的 在...