在06年因为试图学习php而对python的介绍也看了看,不过当时没有时间去认真学习一下,直到三年后的今天才又开始重新认识这门很有意思的语言。
因为需要做python的web开发,所以选择了Django这个框架,首先来介绍一下步骤吧。
1:下载python,可以是最新的,然而我下载了python2.6之后,发现Django没有支持2.6相应的mysql链接库,所以今天暂时无法测试其数据库的相关内容了,做了一个Django模板的小例子,开始入门。
2:下载Django,我目前的版本貌似是Django-1.1-beta-1,下载完成后,在其目录里应该能找到setup.py 这个文件。 windows下cmd 执行
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 http://127.0.0.1:8000/ 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 = [
{'name':'alan', 'sex':'男','age':'25','address':'地址11111'},
{'name':'阿汐', 'sex':'男','age':'21','address':'地址222222'},
{'name':'sgicer', 'sex':'男','age':'23','address':'地址3333'},
{'name':'tidewind', 'sex':'男','age':'32','address':'地址4444'},
{'name':'cood', 'sex':'男','age':'22','address':'地址5555'},
{'name':'北极乞丐', 'sex':'男','age':'25','address':'地址6666'},
{'name':'北斗', 'sex':'男','age':'15','address':'地址7777'}
]
def index(request):
return render_to_response('list.html',{'address': address})
第一行为了实现编码统一,不然当页面内有中文的时候会出现乱码。
导入了render_to_response 这个包,用来向页面输出模板文件以及其内容
address作为一个数组,包含了我所要动态输出的东西。
return render_to_response('list.html',{'address': address})
向list.html页面输出address这个数组的内容.
OK,让我们来看看list.html,很简单的一个遍历,从address数组中获取数据
<
h2
>通讯录
h2>
<
table
width
="100%"
cellpadding
="0"
cellspacing
="0"
id
="tab"
>
<
tr
>
<
th
width
="17%"
>姓名
th>
<
th
width
="17%"
>性别
th>
<
th
width
="22%"
>年龄
th>
<
th
width
="44%"
>地址
th>
tr>
{% for user in address %}
<
tr
>
<
td
>` user`.`name `
td>
<
td
>` user`.`sex `
td>
<
td
>` user`.`age `
td>
<
td
>` user`.`address `
td>
tr>
{% endfor %}
table>
此外,要让这个web应用成功的跑起来,需要做一些额外的配置.
修改urls.py
from django.conf.urls.defaults
import *
urlpatterns = patterns('',
# Example:
# (r'^testit/', include('newtest.apps.foo.urls.foo')),
(r'^add/$', 'newtest.add.index')
# Uncomment
this
for admin:
# (r'^admin/', include('django.contrib.admin.urls')),
)
这里的(r'^add/$', 'test.add.index') 是为了映射我的add.py,当浏览器访问
http://xxx/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',
)
最终,来看看结果吧. 很不错的体验,继续学习。
本文转自阿汐 51CTO博客,原文链接:http://blog.51cto.com/axiii/168550,如需转载请自行联系原作者