【从0开始学Django】Django初步
时间:2014-12-11 10:12:54 作者:vaster 标签: django 分类: Django
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 $ python setup.py install
1.2 python管理工具安装
$ easy_install django
1.3 查看django版本
$ python -c "import django; print(django.get_version())"
注意:不同的Django版本都有最低Python版本的要求,所以在安装时需要选择正确的版本。
Django1.7 --> Python 2.7, 3.2, 3.3, or 3.4Django1.7 --> Python 2.7, 3.2, 3.3, or 3.4Django1.6 --> Python 2.6, 2.7, 3.2 or 3.3Django1.6 --> Python 2.6, 2.7, 3.2 or 3.3Django1.5 --> Python 2.6.5 to 2.7Django1.5 --> Python 2.6.5 to 2.7Django1.4 --> Python 2.5 to 2.7Django1.4 --> Python 2.5 to 2.7Django1.3 --> Python 2.4 to 2.72. 创建第一个项目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. 创建第一个应用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. 配置修改4.1 修改settings.py4.1 修改settings.py要告诉Django这个app是项目里面的一部分,它需要去编辑settings.py。到尾部找到INSTALLED_APPS元组。并添加:要告诉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.py4.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.py4.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 创建模板及模板目录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. 运行开发服务器5. 运行开发服务器Django内置了web服务器,主要用来做快速开发,优点:Django内置了web服务器,主要用来做快速开发,优点:1.不需要安装Apache、Lighttpd1.不需要安装Apache、Lighttpd2.它会自动检测到你到Python源码的修改并且重新加载那些模块2.它会自动检测到你到Python源码的修改并且重新加载那些模块3.它知道如何为admin应用程序寻找并显示静态的媒体文件,所以可以直接使用它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/