- Django 教程
- 姜戈 - 主页
- Django - 基础知识
- Django - 概述
- Django - 环境
- Django - 创建项目
- Django - 应用程序生命周期
- Django - 管理界面
- Django - 创建视图
- Django - URL 映射
- Django - 模板系统
- Django - 模型
- Django - 页面重定向
- Django - 发送电子邮件
- Django - 通用视图
- Django - 表单处理
- Django - 文件上传
- Django - Apache 设置
- Django - Cookie 处理
- Django - 会话
- Django - 缓存
- Django - 评论
- 姜戈 - RSS
- Django - AJAX
- Django 有用资源
- Django - 快速指南
- Django - 有用的资源
- Django - 讨论
Django - 创建项目
现在我们已经安装了 Django,让我们开始使用它。在 Django 中,您要创建的每个 Web 应用程序都称为项目;项目是应用程序的总和。应用程序是一组依赖于 MVT 模式的代码文件。举个例子,假设我们要建立一个网站,该网站是我们的项目,论坛、新闻、联系引擎是应用程序。这种结构使得在项目之间移动应用程序变得更加容易,因为每个应用程序都是独立的。
创建一个项目
无论您使用的是 Windows 还是 Linux,只需获取终端或cmd提示符并导航到您想要创建项目的位置,然后使用以下代码 -
$ django-admin startproject myproject
这将创建一个具有以下结构的“myproject”文件夹 -
myproject/ manage.py myproject/ __init__.py settings.py urls.py wsgi.py
项目结构
“myproject”文件夹只是您的项目容器,它实际上包含两个元素 -
manage.py - 该文件是您的项目本地 django-admin 的一种,用于通过命令行与您的项目进行交互(启动开发服务器,同步数据库...)。要获取可通过manage.py访问的命令的完整列表,您可以使用以下代码 -
$ python manage.py help
“myproject”子文件夹- 该文件夹是项目的实际 python 包。它包含四个文件 -
__init__.py - 仅对于 python,将此文件夹视为包。
settings.py - 顾名思义,您的项目设置。
urls.py - 项目的所有链接和要调用的函数。项目的一种目录。
wsgi.py - 如果您需要通过 WSGI 部署项目。
设置您的项目
您的项目设置在子文件夹 myproject/settings.py 中。以下是您可能需要设置的一些重要选项 -
DEBUG = True
此选项允许您设置项目是否处于调试模式。调试模式可让您获取有关项目错误的更多信息。对于实时项目,切勿将其设置为“True”。但是,如果您希望 Django 轻型服务器提供静态文件,则必须将其设置为“True”。仅在开发模式下执行此操作。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'database.sql', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', } }
数据库在“数据库”字典中设置。上面的例子是针对 SQLite 引擎的。如前所述,Django 还支持 -
- MySQL(django.db.backends.mysql)
- PostGreSQL (django.db.backends.postgresql_psycopg2)
- Oracle (django.db.backends.oracle) 和 NoSQL DB
- MongoDB (django_mongodb_engine)
在设置任何新引擎之前,请确保安装了正确的数据库驱动程序。
您还可以设置其他选项,例如:TIME_ZONE、LANGUAGE_CODE、TEMPLATE...
现在您的项目已创建并配置完毕,请确保它正在运行 -
$ python manage.py runserver
运行上面的代码你会得到类似下面的内容 -
Validating models... 0 errors found September 03, 2015 - 11:41:50 Django version 1.6.11, using settings 'myproject.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.