Django入门与实践-第2章:创建项目

栏目: IT技术 · 发布时间: 4年前

内容简介:执行下面的命令来创建一个新的 Django 项目:命令行工具执行了上面的命令以后,系统会为Django项目生成基础文件夹结构。

启动一个新项目

执行下面的命令来创建一个新的 Django 项目:

django-admin startproject myproject

命令行工具 django-admin 会在安装Django的时候一起自动安装好。

执行了上面的命令以后,系统会为Django项目生成基础文件夹结构。

现在,我们的 myproject 目录结构如下所示:

myproject/                  <-- 高级别的文件夹
 |-- myproject/             <-- Django项目文件夹
 |    |-- myproject/
 |    |    |-- __init__.py
 |    |    |-- settings.py
 |    |    |-- urls.py
 |    |    |-- wsgi.py
 |    +-- manage.py
 +-- venv/                  <-- 虚拟环境文件夹

我们最初的项目结构由五个文件组成:

  • manage.py :使用 django-admin 命令行 工具 的快捷方式。它用于运行与我们项目相关的管理命令。我们将使用它来运行开发服务器,运行测试,创建迁移等等。
  • __init.py :这个空文件告诉 python 这个文件夹是一个python包。
  • settings.py :这个文件包含了所有的项目配置。将来我们会一直提到这个文件!
  • urls.py :这个文件负责映射我们项目中的路由和路径。例如,如果你想在访问URL / about/ 时显示某些内容,则必须先在这里做映射关系。
  • wsgi.py :该文件是用于部署的简单网关接口。你可以暂且先不用关心她的内容,就先让他在那里就好了。

django自带了一个简单的网络服务器。在开发过程中非常方便,所以我们无需安装任何其他软件即可在本地运行项目。我们可以通过执行命令来测试一下它:

python manage.py runserver

现在,你可以忽略终端中出现的迁移错误;我们将在稍后讨论。

现在在Web浏览器中打开URL: http://127.0.0.1:8000 ,你应该看到下面的页面:

Django入门与实践-第2章:创建项目

使用组合键 Control + C 来终止开发服务器。

Django 应用

在Django的哲学中,我们有两个重要的概念:

  • app :是一个可以做完成某件事情的Web应用程序。一个应用程序通常由一组 models(数据库表)views(视图)templates(模板)tests(测试) 组成。
  • project :是配置和应用程序的集合。一个项目可以由多个应用程序或一个应用程序组成。

请注意,如果没有一个 project ,你就无法运行Django应用程序。像博客这样的简单网站可以完全在单个应用程序中编写,例如可以将其命名为 blogweblog

Django入门与实践-第2章:创建项目

这是组织源代码的一种方式。现在刚开始,判断什么是或不是应用程序这些还不太重要。包括如何组织代码等。现在不用担心那些问题!首先让我们对Django的API和基础知识进行梳理一遍。

好的!那么,为了方便说明,我们来创建一个简单的 网络论坛讨论区 。要创建我们的第一个应用程序,请跳转到 manage.py 文件所在的目录并执行以下命令:

django-admin startapp boards

注意!我们这次使用的命令是 startapp

通过这条指令,系统会给我们创建以下目录结构:

myproject/
 |-- myproject/
 |    |-- boards/                <-- 我们新的Django应用(app)!
 |    |    |-- migrations/
 |    |    |    +-- __init__.py
 |    |    |-- __init__.py
 |    |    |-- admin.py
 |    |    |-- apps.py
 |    |    |-- models.py
 |    |    |-- tests.py
 |    |    +-- views.py
 |    |-- myproject/
 |    |    |-- __init__.py
 |    |    |-- settings.py
 |    |    |-- urls.py
 |    |    |-- wsgi.py
 |    +-- manage.py
 +-- venv/

下面,我们来探讨每个文件的作用:

  • migrations/ :在这个文件夹里,Django会存储一些文件以跟踪你在 models.py 文件中创建的变更,用来保持数据库和 models.py 的同步。
  • admin.py :这个文件为一个django内置的应用程序 Django Admin 的配置文件。
  • apps.py :这是应用程序本身的配置文件。
  • models.py :这里是我们定义Web应用程序数据实例的地方。models会由Django自动转换为数据库表。
  • tests.py :这个文件用来写当前应用程序的单元测试。
  • views.py :这是我们处理Web应用程序请求(request)/响应(resopnse)周期的文件。

现在我们创建了我们的第一个应用程序,让我们来配置一下项目以便启用这个应用程序。

要做到这一点,打开 settings.py 并尝试找到 INSTALLED_APPS 变量:

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

如你所见,Django默认已经安装了6个内置应用程序。它们提供大多数Web应用程序所需的常用功能,如身份验证,会话,静态文件管理(图像,JavaScript,CSS等)等。

我们将会在本系列教程中探索这些应用程序。但现在,先不管它们,只需将我们的应用程序 boards 添加到 INSTALLED_APPS 列表即可:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'boards',  # 译者注:建议和作者一样空一行来区别内置app和自定义的app
]

使用前面漫画正方形和圆圈的比喻,黄色的圆圈就是我们的 boards 应用程序, django.contrib.admin, django.contrib.auth 等就是红色的圆圈。

有问题可以扫描二维码和我交流

关注公众号「Python之禅」,回复「1024」免费获取Python资源

Django入门与实践-第2章:创建项目

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux命令行与shell脚本编程大全 第3版

Linux命令行与shell脚本编程大全 第3版

[美]布鲁姆,布雷斯纳汉 / 门佳、武海峰 / 人民邮电出版社 / 2016-8-1 / CNY 109.00

这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的最新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。一起来看看 《Linux命令行与shell脚本编程大全 第3版》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具