1. 安装Django
1.1 源码安装
$ wget https://www.djangoproject.com/download/1.6.7/tarball
$ mv tarball Django-1.6.7.tar.gz
$ tar -zxvf Django-1.6.7.tar.gz
$ cd Django-1.6.7
$ python setup.py install
1.2 python管理工具安装
$ easy_install django
查看django版本
$ python -c "import django; print(django.get_version())"
注意:不同的Django版本都有最低Python版本的要求,所以在安装时需要选择正确的版本。
Django1.7 –> Python 2.7, 3.2, 3.3, or 3.4
Django1.6 –> Python 2.6, 2.7, 3.2 or 3.3
Django1.5 –> Python 2.6.5 to 2.7
Django1.4 –> Python 2.5 to 2.7
Django1.3 –> Python 2.4 to 2.7
2. 创建第一个项目
$ django-admin.py startproject daop
$ ls *
manage.py
daop:
__init__.py settings.py urls.py wsgi.py
__init__.py:一个空文件,告诉Python,这个目录应该是一个Python包。
manage.py:项目管理文件(文件中指定了入口settings文件)
settings.py :默认项目配置文件。包括数据库,调试标志,等
urls.py : Django项目的URL声明;Django站点的目录
wsgi.py: WSGI-compatible web服务器作为项目的入口点。
3. 创建第一个应用
$ django-admin.py startapp charts
$ ls charts/
__init__.py admin.py models.py tests.py views.py
__init__.py:一个空文件,告诉Python,这个目录应该是一个Python包。
admin.py:加载文件中的内容,同时通过admin.site.register注册相应app模块
models.py :用来定义数据库结构
tests.py : 测试文件
views.py :视图文件,站点中所有请求的处理中心
4. 配置修改
4.1 修改settings.py
要告诉Django这个app是项目里面的一部分,它需要去编辑settings.py。到尾部找到INSTALLED_APPS元组。并添加:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'charts',
)
设置时区:
TIME_ZONE = 'Asia/Shanghai'
#设置编码:
LANGUAGE_CODE = 'zh-cn'
#设置模板位置:
TEMPLATE_DIRS = (
os.path.join(BASE_DIR,'templates'),
)
#设置静态文件位置:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
#设置数据库相关
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'tools',
'user': 'root',
'password': '',
'host': '127.0.0.1',
'port': '3306'
}
}
4.2 修改urls.py
修改主urls.py文件
$ vim daop/urls.py
url(r'^charts/',include('charts.urls')),
#修改charts的urls文件
$ vim charts/urls.py
from django.conf.urls import patterns, include, url
urlpatterns = patterns('charts.views',
url(r'^index/','index'),
)
4.3 修改views.py
$ cat charts/views.py
from django.http import HttpResponse
from django.shortcuts import render_to_responsedef index(request):
username="test"
info = request.POST
try:
username2=info["UserID"]
except Exception,ex:
username2=""
return render_to_response("charts/index.html",{"username":username,"username2":username2})
4.4 创建模板及模板目录
$ mkdir -p charts/templates/charts/
$ cat charts/templates/charts/index.html
<html>
<h1>{{username}} welcome~</h1>
<form name="form1" method="post" action="/charts/index/">
Username:<input style="width: 80; height: 21" name="UserID">
<input value="Search!" type="submit" name="commit">
</form>
<h1>{{username2}} ,welcome~</h1>
</html>
5. 运行开发服务器
Django内置了web服务器,主要用来做快速开发,优点:
1.不需要安装Apache、Lighttpd
2.它会自动检测到你到Python源码的修改并且重新加载那些模块
3.它知道如何为admin应用程序寻找并显示静态的媒体文件,所以可以直接使用它
启动:
# python manage.py runserver
Validating models...
0 errors found
Django version 1.0.4, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[06/Nov/2012 13:22:49] "GET HTTP/1.1" 200 2053 //记录的访问记录
(时间戳、请求、HTTP状态码、以及字节数)
访问地址:http://127.0.0.1:8000/




