【Django-简单的博客系统】-1.1-Django起步

Django简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

【Django-简单的博客系统】-1.1-Django起步_第1张图片

Django特点

  • 容易上手,开发速度快
  • 囊括了网站开发中的用户管理、内容管理、网站地图、RSS等常用的众多插件。
  • 安全性强,比如Django默认解决了SQL注入、跨站攻击等问题。
  • 应用广泛,类型多样化。使用Django开发的网站包括各类在线服务网站、社会组织和政府机构网站等,其类型包括但不限于管理系统、社交网站、计算平台等。

安装Django

pip3 install Django

查看Django版本

创建项目

Django中的“项目”(project)可以看作一个专有名词,因为后面还有一个与之有关的名词“应用”(application)

1、创建一个Django项目:

此时此目录下多了个mysite子目录,mysite就是这个项目的名称。

【Django-简单的博客系统】-1.1-Django起步_第2张图片

python3 manage.py runserver

【Django-简单的博客系统】-1.1-Django起步_第3张图片

http://127.0.0.1:8000/

【Django-简单的博客系统】-1.1-Django起步_第4张图片

创建应用

进入blog目录,会看到blog里面已经有默认的文件和目录。

【Django-简单的博客系统】-1.1-Django起步_第5张图片

1.manage.py

django-admin.py是Django的任务管理命令行工具。可以通过下面的方式查看django-admin命令的帮助信息和所支持的命令行参数:

【Django-简单的博客系统】-1.1-Django起步_第6张图片

  • django-admin命令对应着django-admin.py文件,它在Django安装后保存在Django安装目录的/bin下面。
  • 而manage.py只在建立了一个项目之后,才存在于项目的根目录中。

2.mysite

mysite是所建项目的管理功能目录,这个目录的名称因用户所创建的项目名称的不同而异。它包含的几个文件常用于面向整个项目进行参数配置。

  • setting.py:这个文件中包括了项目的初始化设置,可以针对整个项目进行有关参数配置,比如配置数据库、添加应用等。
  • urls.py:这是一个URL配置表文件(或称为“模块”,在Python中,模块就是程序文件。此URL配置文件/模块,英文表示URLconf,即URL configureation),主要将URL映射到应用程序上。当用户请求某个URL时,Django项目会根据这个文件中的映射关系指向某个目标对象,该对象可以是某个应用中的urls.py文件,也可以是某个具体的视图函数。
  • wsgi.py:WSGI是web Server Gateway Interface 的缩写。WSGI是Python所选择的服务器和应用标准。wsgi.py文件定义了我们所创建的项目都是WSGI应用。
  • __pycache__:如果创建项目后,不执行python manage.py runserver命令,不在浏览器中查看网站是否运行,那么它是不存在的。只有网站运行后,它才会发现。他其实是一个编译后的文件夹。

3.blog

  • admin.py:在这个文件中,可以自定义Django管理工具比如设置在管理界面能够管理的项目,或者通过重新自定义与系统管理有关的类对象,向管理功能增加新的内容。
  • apps.py:这个文件是Django1.10之后添加的,通常包含对应用的配置,比如为管理功能提供一个合适的应用名称。
  • migrations:这是一个目录,用于存储应用的数据库表结构的指令,通过这些指令可以修改和创建数据库,从而在models.py模型类和数据库表之间迁移。
  • tests.py:在这个文件中可以编写测试文档来测试所建立的应用。
  • views.py:这是一个重要的文件,用于保存响应各种请求的函数或者类。如果编写的是函数,则称为基于函数的视图;如果编写的是类,则称为基于类的视图。views.py就是保存函数或者类的视图文件。当然,也可以用其他的文件名称,只不过在引入相应函数或者类时,要注意名称的正确性,views.py是我们习惯使用的文件名称。

4.db.sqlite3

这是一个默认的数据库。SQLite是Python默认安装的数据库,在Django中也可以默认使用。

网站配置

在Django项目中,主管信息注册的文件是D:\Codes\DjangoPracticeProject\mysite\mysite\mysite\settings.py。

  • DEBUG :其值为True或者False。在开发过程中,需要设置为True,在调试时,Django能够显示详细的报错信息--这是“开发模式”。如果将项目部署到真正要对外发布的服务器上,我们称为“生产环境”,必须将其值改为False,从而避免暴露项目的内部信息。
  • ALLOWED_HOSTS:在DEBUG为True时,其值可以为空。当部署到生产环境中时,要把主域名填写到这里,才能通过域名访问到本网站。
  • INSTALLED_APPS:这是一个非常重要的配置项,所有的应用只有写到这里才能生效。在默认情况下,已经有了一些应用,比如'django.contrib.admin'就是针对项目后台管理的应用。

【Django-简单的博客系统】-1.1-Django起步_第7张图片

  • DATABASES:在这里可以配置数据库。Django能够支持多种数据库,比如mysql、Oracle等。默认SQLite。
  • LANGUAGE_CODE:设置项目的语言,在一般情况下可以不用修改,如果非用汉语,则设置为LANGUAGE_CODE = 'zh-hans'。
  • TIME_ZONE:设置时区,通常使用东八区,设置为“Asia/Shanghai”。

知识点

1、开发模式

所谓“开发模式”,是相对“生产模式”而言的,即系统尚处于开发阶段,还没有正式对外部客户提供服务,在这种模式下很多配置都是为了开发而定的,比如在Django开发模式中,不需要配置Apache或者Nginx等服务器,也能够运行网站,这是因为Django本身就提供了简单的Web服务器功能,但是这仅限于开发过程,当网站被正式部署之后,即转换为“生产模式”时,就需要对部分配置进行修改。

当开发模式中,Django会自动检测到修改的代码并重新加载,不需要每次修改代码后重新启动Web服务器。只有在新添加文件后,才需要重启Django服务。

运行Django服务的指令是python manage.py runserver。

2、项目和应用

Django安装好之后,就有了django-admin这个默认命令,可以用django-admin startproject progectname 命令创建一个Django项目。项目是由若干个“应用”组成的,实现具体功能。创建应用可以使用python manage.py startapp appname命令,也可以使用django-admin startapp appname命令。

创建了项目和应用之后,会生成一些默认的文件,它们要么是一些默认的配置,如settings.py,要么是空文件,仅仅是为了占据一个位置而已,如应用里面的views.py\models.py等。

每个应用都要在项目的settings.py文件的INSTALLED_APPS中进行声明,告诉Django这个应用时本项目的一部分。

Django将很多默认的功能(比如用户管理功能)视为一个应用。此外,Django时一个开放的系统,任何人都可以开发第三方应用,这些第三方应用通常用于解决某个常见的问题,开发者在项目中使用第三方应用的主要目的就是节省时间、快速开发。这些第三方应用如果要在项目中使用,也要在settings.py的INSTALLED_APPS中注册后才能生效。

你可能感兴趣的:(Django)