作者:dmcm0007 | 来源:互联网 | 2024-10-29 10:51
在本教程中,我们将引导你完成创建第一个Django应用的步骤。通过实际操作,你将逐步了解Django框架的核心概念和基本功能。从项目结构到视图和模板的实现,我们将详细介绍每个环节,帮助你快速上手并构建出一个功能完整的Web应用。
完整教程https://www.daimapi.com/django/intro/tutorial01/
编写你的第一个 Django 应用,第 1 部分¶
让我们通过示例来学习。
通过这个教程,我们将带着你创建一个基本的投票应用程序。
它将由两部分组成:
- 一个让人们查看和投票的公共站点。
- 一个让你能添加、修改和删除投票的管理站点。
我们假定你已经阅读了 安装 Django。你能知道 Django 已被安装,且安装的是哪个版本,通过在命令提示行输入命令(由 $ 前缀)。
$ python -m django –version
如果这行命令输出了一个版本号,证明你已经安装了此版本的 Django;如果你得到的是一个“No module named django”的错误提示,则表明你还未安装。
这个教程是为了 Django 2.0 写的,它支持 Python 3.4 和后续版本。如果 Django 的版本不匹配,你可以通过页面右下角的版本切换器切换到对应你版本的教程,或更新至最新版本。如果你正在使用一个较老版本的 Python,在 我应该使用哪个版本的Python来配合Django? 查找一个合适的 Django 版本。
你可以查看文档 如何安装 Django 来获得关于移除旧版本,安装新版本的流程和建议。
从哪里获得帮助:
如果你在阅读或实践本教程中遇到困难, 请发消息给 django-users 或加入 #django on irc.freenode.net 来和其他的 Django 用户交流,他们也许能帮到你。
创建项目¶
如果这是你第一次使用 Django 的话,你需要一些初始化设置。也就是说,你需要用一些自动生成的代码配置一个 Django project —— 即一个 Django 项目实例需要的设置项集合,包括数据库配置、Django 配置和应用程序配置。
打开命令行,cd
到一个你想放置你代码的目录,然后运行以下命令:
$ django-admin startproject mysite
这行代码将会在当前目录下创建一个 mysite
目录。如果命令失败了,查看 运行“django-admin“时遇到的问题,可能能给你提供帮助。
Note
你得避免使用 Python 或 Django 的内部保留字来命名你的项目。具体地说,你得避免使用像 django
(会和 Django 自己产生冲突)或 test
(会和 Python 的内置组件产生冲突)这样的名字。
我的代码该放在哪?
如果你曾经是原生 PHP 程序员(没有使用过现代框架),你可能会习惯于把代码放在 Web 服务器的文档根目录(诸如 /var/www
)。当使用 Django 时不需要这样做。把所有 Python 代码放在 Web 服务器的根目录不是个好主意,因为这样会有风险。比如会提高人们在网站上看到你的代码的可能性。这不利于网站的安全。
把你的代码放在文档根目录 以外 的某些地方吧,比如 /home/mycode。
让我们看看 startproject
创建了些什么:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
这些目录和文件的用处是:
- 最外层的:file: mysite/ 根目录只是你项目的容器, Django 不关心它的名字,你可以将它重命名为任何你喜欢的名字。
manage.py
: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin and manage.py 获取所有 manage.py
的细节。- 里面一层的
mysite/
目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 mysite.urls
). mysite/__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。mysite/settings.py
:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django settings 了解细节。mysite/urls.py
:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。mysite/wsgi.py
:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。- 完整教程https://www.daimapi.com/django/intro/tutorial01/