`

Diango 安装与入门示例

阅读更多
Diango 安装指导


1. 前提
安装了 Python
Django要求 Python 版本 2.4 to 2.7.
推荐 2.5以上,它包含轻量级的数据库SQLite.

目前推荐使用2.6版本,2.7的第三方包很多不能使用.开发工具:
Pydev
www.pydev.org
安装配置:
python2.6 + django1.2.0 +eclipse 3.6 + pydev 1.6.0
注意插件版本, 不然会出问题的.


Python 2.7 for Windows
http://www.python.org/ftp/python/2.7.1/python-2.7.1.msi

Django 官方版本
http://media.djangoproject.com/releases/1.2/Django-1.2.4.tar.gz

2. 安装 Python 2.7
直接安装即可,安装目录E:\Python217.
配置环境变量:
PATH
加入目录 E:\Python217
新建PYTHONPATH
加入目录
E:\Python313\pyfiles,此目录用于创建你自己的*.py文件.

3. 安装 Django 1.2.4
解压Django-1.2.4.tar.gz到E:\
CMD进入目录E:\Django-1.2.4\
CMD> setup.py install

注意:
3.1 如果提示
if u'SVN' in version
语法错误
把u去掉即可,类似错误同样处理.
这主要是因为解释器不能识别这种unicode字符串语法.

3.2 如果安装了更高版本的Python,请先卸载.卸载后不用重启.
因为Django可能安装到高版本.

4. 验证
4.1 检查目录:\Python217\Lib\site-packages下是否有diagno目录.site-packages目录是第三方包存放的目录.
4.2 CMD>python
>>>import django
>>>django.get_version()

显示:1.2.4
>>>

5. 安装完成.

6. 示例

6.1 创建项目文件夹:
E:\python_projects

6.2 创建项目mysite
6.2.1 配置环境变量PATH
加入
E:\Python217\Lib\site-packages\django\bin

6.2.2 CMD进入E:\python_projects.
> django-admin.py startproject mysite

在E:\python_projects\mysite目录下会生成4个文件
__init__.py
manage.py
settings.py
urls.py

__init__.py: 一个空文件,标识mysite是一个Python包.

manage.py: 一个与Django交互的命令行工具.

settings.py: 项目配置文件.

urls.py: URL的声明,使用正则表达式.

6.3 启动自带的纯Python语言实现的开发者WEB服务器
6.3.1 CMD进入mysite目录
> manage.py runserver

E:\python_projects\mysite>manage.py runserver
Validating models...
0 errors found

Django version 1.2.4, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.



6.3.2 访问服务器
http://127.0.0.1:8000/

显示:
It worked!
Congratulations on your first Django-powered page.
Of course, you haven't actually done any work yet. Here's what to do next:

•If you plan to use a database, edit the DATABASES setting in mysite/settings.py.
•Start your first app by running python mysite/manage.py startapp [appname].
You're seeing this message because you have DEBUG = True in your Django settings file and you haven't configured any URLs. Get to work!

6.3.3 修改服务器IP和端口
manage.py runserver <ip>:<port>
默认端口8000

6.4. 安装数据库
6.4.1 配置Python自带的SQLite数据库
修改setting.py的DATABASES变量.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', 
        'NAME': 'E:/python_projects/mysite/db/test.db',                       'USER': '',                      
        'PASSWORD': '',                 
        'HOST': '',                              
        'PORT': '',                      
    }
}


6.4.2 同步数据库
> manage.py syncdb

提示是否创建Django超级用户:YES
USERNAME: admin
PASSWORD: admin


E:\python_projects\mysite>manage.py syncdb
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site

You just installed Django's auth system, which means you don't have any superuse
rs defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'cs'): admin
E-mail address: amos_tl@126.com
Password:
Password (again):
Superuser created successfully.
Installing index for auth.Permission model
Installing index for auth.Group_permissions model
Installing index for auth.User_user_permissions model
Installing index for auth.User_groups model
Installing index for auth.Message model
No fixtures found.

E:\python_projects\mysite>




6.4.3 创建应用
项目与应用的区别:
一个项目可包含多个应用,一个应用可属于多个项目.简单理解就是应用是可重用的.

下面开始创建一个投票的应用.
首先创建应用

E:\python_projects\mysite> manage.py startapp polls

创建成功后目录结构:
polls/
    __init__.py
    models.py
    tests.py
    views.py

6.4.3.1 创建模型
模型定义的DRY原理:Don’t repeat yourself 不做重复的事情.
只在一个地方定义模型,自动获取数据.

投票应用我们定义了两个模型.
投票(问题,日期)
投票选择(选择,计分)
每一个选择关联一个投票.
模型定义如下:

models.py
from django.db import models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice = models.CharField(max_length=200)
    votes = models.IntegerField()


Poll和Choice是models.Model的子类.其中的属性代表表字段.它们是Field字段类的实例.
这里还用到了外键关系.
Django支持常用的数据库关系:多对多,多对一,一对一.

6.4.3.2 激活模型
配置setting.py文件:
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'mysite.polls',
)

6.4.3.3 查看模型SCHEMA
> manage.py sql polls

E:\python_projects\mysite>manage.py sql polls

BEGIN;
CREATE TABLE "polls_poll" (
    "id" integer NOT NULL PRIMARY KEY,
    "question" varchar(200) NOT NULL,
    "pub_date" datetime NOT NULL
)
;
CREATE TABLE "polls_choice" (
    "id" integer NOT NULL PRIMARY KEY,
    "poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"),
    "choice" varchar(200) NOT NULL,
    "votes" integer NOT NULL
)
;
COMMIT;



这条SQL并没有实际在数据库执行,要执行它,同步数据库即可:
> manage.py syncdb

6.4.3.4 查看应用索引,自定义SQL,表创建SCHEMA,表和索引创建SCHEMA
> manage.py sqlindexes polls
> manage.py sqlcustom polls
> manage.py sql polls
> manage.py sqlall polls

6.4.3.5 删除SCHEMA
> manage.py sqlclear polls

6.4.3.6 验证模型
> manage.py validate

6.5 调用Python Shell
> manage.py shell

不直接调用PYTHON的原因,是manage.py做了两件事:
a) 通过 setting.py 的 INSTALLED_APPS 导入模块 mysite, polls 到 sys.path.
b) 设置DJANGO_SETTINGS_MODULE 模块环境变量,它的值是 mysite.settings 模块.

6.6 调用模型
>>> from polls.models import Poll, Choice

>>> Poll.objects.all()
[]

>>> import datetime
>>> p = Poll(question="What's up?", pub_date=datetime.datetime.now())

>>> p.save()

>>> p.id
1

>>> p.question
"What's up?"
>>> p.pub_date
datetime.datetime(2007, 7, 15, 12, 00, 53)

>>> p.pub_date = datetime.datetime(2007, 4, 1, 0, 0)
>>> p.save()

>>> Poll.objects.all()
[<Poll: Poll object>]

>>> quit()


6.7 完成

7. 自动生成管理站点
7.1 加入 "django.contrib.admin" 到 INSTALLED_APPS.

7.2 同步数据库
> manage.py syncdb

7.3 编辑 mysite/urls.py

from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^mysite/', include('mysite.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),
)



7.4 访问Admin应用
http://127.0.0.1:8000/admin/
用户名: 上面有配
密码: 上面有配

7.5 加入Polls应用
在E:\python_projects\mysite\polls目录创建admin.py

admin.py
from polls.models import Poll
from django.contrib import admin

admin.site.register(Poll)


7.6 重启服务器.
a) CTRL + C
b) > manage.py runserver

7.6 再次访问Admin. CRUD Poll.

7.7 中文配置
settings.py

TIME_ZONE = 'China/ShangHai'
LANGUAGE_CODE = 'zh-cn'

8. 创建视图
8.1 设计URLs

urls.py加入
(r'^polls/$', 'polls.views.index'),

8.2 配置模板目录
settings.py

TEMPLATE_DIRS = (
    'E:/python_projects/mysite/template'
)

8.3 在E:/python_projects/mysite/template目录创建polls目录,新建index.html

index.html

{% if latest_poll_list %}
    <ul>
    {% for poll in latest_poll_list %}
        <li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No polls are available.</p>
{% endif %}



8.4 重启服务器,访问
http://127.0.0.1:8000/polls/

8.5 完成

9. 其它
高级表单处理
使用 RSS 框架
使用缓存框架
使用注释框架
管理员:权限管理
管理员:自定义JS

















0
0
分享到:
评论

相关推荐

    最简单的Python Django入门教程.pdf

    【Python Django入门教程】 Django是一个基于Python的开源Web应用框架,遵循MVC(模型-视图-控制器)设计模式,但在Django中通常被称为MTV模式。它的核心目标是简化复杂、数据库驱动的网站开发,强调组件的重用性、...

    Django说明及示例

    #### 三、Django的入门步骤 ##### 1. 第一步骤:了解Django的基本概念 - **模型层(Model Layer)**:负责数据处理,包括与数据库的交互。 - **视图层(View Layer)**:处理业务逻辑,接收请求并返回响应。 - **...

    Django搭建简易博客示例代码(入门级)

    首先,你需要确保已经安装了Python和Django。在命令行中运行`python --version`和`django-admin --version`检查它们是否已正确安装。如果没有,可以通过Python的包管理器pip来安装: ```bash pip install python ...

    django简单的入门例子

    这个简单的Django入门例子展示了如何创建模型、视图、模板以及URL路由。通过实践这个例子,你可以了解到Django的基本工作流程,并为更复杂的Web应用打下基础。随着对Django的深入学习,你会发现它支持诸如用户认证、...

    python从入门到实践的django项目代码

    在"python从入门到实践的django项目代码"中,你将有机会学习如何利用这些功能构建一个完整的Web应用程序。 项目的核心部分通常包括以下几个方面: 1. **环境设置**:首先,你需要安装Python和Django。在命令行中,...

    django 官方开发入门手册

    - **发送邮件**:这部分提供了如何在Django应用中发送邮件的示例代码。 - **国际化与本地化**:这里详细讲解了如何使用Django提供的国际化和本地化工具。 - **日志记录**:这部分介绍了如何在Django应用中配置和使用...

    Django中文版 教程.

    1. Django简介与安装:教程首先介绍了Django框架的基本概念,接着详细指导了如何安装Python环境、Django框架以及配置数据库,为新手入门奠定了基础。 2. 项目结构与MVC设计模式:介绍了如何在Django中创建新项目,...

    django建站入门指南.docx

    #### 四、Django快速入门示例 接下来,我们将通过创建一个简单的个人网站来深入了解 Django 的基本工作流程。 1. **新建项目**: - 在命令行中输入以下命令创建名为 `mysite` 的项目: ```bash django-admin ...

    Django入门使用示例

    本文分享了Django一则入门实例,非常适合我这样的新手。。大家一起学习下。 进入正题。 使用版本Django 1.8.x 使用IDE工具PyCharm 开源Web应用框架Django图文教程 1.新建Django项目,我这里是使用命令创建项目的。...

    Django开发入门源码

    **Django开发入门源码详解** Django是一个高级的Python Web框架,用于快速开发安全且可维护的网站。这份“Django开发入门源码”旨在为初学者提供一个基础的起点,帮助他们理解和掌握Django的基本概念和工作流程。...

    DjangoREST框架React快速入门

    **Django REST 框架与 React 快速入门** Django REST 框架(DRF)是基于 Django 的一套强大的工具集,用于构建 Web API。它使得开发者能够快速地构建符合 RESTful 风格的、健壮的、高性能的 API。另一方面,React ...

    Python编程从入门到实践第20章Django示例项目代码

    1. **安装Django**:首先,你需要确保已经安装了Python,并使用pip安装Django库。 2. **创建项目**:使用`django-admin startproject project_name`命令创建一个新的Django项目。 3. **创建应用**:在项目中,你...

    django基础入门代码

    django基础入门的代码参考 https://blog.csdn.net/csa121/article/details/83386572 文章使用。文章中的所有代码示例都在资源包中。

    django:Render示例上的Django入门

    【Django入门与Render部署详解】 Django是一个高级的Python Web框架,用于快速开发安全且可维护的网站。本文将深入探讨如何使用Django构建Web应用,并将其部署到Render平台上,以便在线上环境中运行。 首先,让...

    Python编程从入门到实践第18、19章Django示例项目代码

    1. **安装与设置**:首先,你需要安装Python和Django。通过Python的包管理器pip来安装Django,然后使用`django-admin startproject`命令创建一个新的项目。 2. **项目结构**:Django项目通常包含多个应用,每个应用...

    Django入门教程-内含源码以及设计说明书(可以自己运行复现).zip

    《Django入门教程》是一个全面介绍Django框架的教程,包含源码和设计说明书,适合初学者通过实际操作来学习和理解Django的基本概念及应用。这个教程主要分为以下几个部分: 1. Django环境搭建与目录结构 在这一章节...

    Python Django快速入门系列的项目源码.zip

    GitHub上的"python+项目"可能包含了各种实际应用场景的示例,如博客系统、用户认证、CRUD操作等,这些都是Django开发中的常见任务。 首先,了解Django的基本结构至关重要。每个Django项目通常由以下几个主要部分...

    Django Web开发指南书及源代码

    1. **安装与设置**:如何在本地环境安装Django,配置虚拟环境,以及设置项目结构。 2. **快速入门**:通过创建第一个Django项目和应用,介绍基本概念。 3. **模型与数据库**:详细讲解如何定义模型,创建数据库迁移...

    django cms 用户文档

    此外,还包括了如何与South一起使用Django CMS,以及如何利用Django CMS进行导航设置等。 3. 高级功能 高级功能部分涉及Django CMS的深入配置和扩展。它包括如下主题: - 国际化:如何使用Django CMS创建支持多语言...

Global site tag (gtag.js) - Google Analytics