您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页Django | 简单的博客系统_Django起步《Django 实战》读书笔记

Django | 简单的博客系统_Django起步《Django 实战》读书笔记

来源:欧得旅游网

一、安装 python3

yum install python3

二、安装 Django

2.1 Django 简介

2.2 安装 Django
pip3 install django==2.1.8
#建议使用低版本 Django,否则,可能会有 django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is requir 报错

或者

pip3 install django

备注:这里使用 pip3 命令主要是因为 python3 自带的是 pip3 ;若使用 pip 则默认安装在 python2 中

2.3 查看 Django 版本
[root@iZ9i4xchl7680mZ ~]# python3
Python 3.6.8 (default, Apr  2 2020, 13:34:55) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(django.get_version())
3.0.8
>>> 

三、创建项目

  Django中的“项目”(project)可以看作是一个专有名词,因为后面还有一个与之相关的名词“应用”(application)。
  所谓项目可以理解为一个网站。

3.1 创建项目目录
mkdir -p /opt/Django
cd /opt/Django
#创建目录并进入文件夹

django-admin 的用法如下(输入 django-admin 命令即可获得):

3.2 创建项目
django-admin startproject blog

3.3 启动项目
python3 manage.py runserver
python3 manage.py runserver 0.0.0.0:80

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.


您有15个未申请的迁移。您的项目可能无法正常工作,除非您为应用程序应用迁移:admin、auth、contenttypes、sessions。
运行'python manage.py migrate'迁移以应用它们。

处理方法:

python3 manage.py migrate

3.4 访问项目

四、创建应用

4.1 创建应用

  项目已经创建好了,网站也有了,接下来要实现网站的具体功能。在Django中,人们把这些具体的功能成为应用。

python3 manage.py startapp blog_app1

  blog_app1就是 blog 项目的一个应用,当一个应用创建后,Django会在这个应用中增加一些文件。

4.2 应用文件讲解说明

4.2.1 manage.py

  在了解 manage.py 之前,先来了解下创建项目时用到的 django-admin.py ,它是 Django 的任务股那里命令行工具,如上文所述,可以通过 django-admin.py 命令查看帮助信息和所支持的命令行参数。

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

  在这里应该看到熟悉的命令了吧,比如前面用的 startappstartprojectrunserver

其实在这里 python3 manage.py startapp blog_app1 django-admin.py startapp blog_app1 这两个命令的效果时完全一样的

其,来龙去脉在于

  • python3 manage.py startapp blog_app1

  • 特点:项目命令,随项目创建而产生

  • django-admin.py

  • 特点:全局命令,随 Django 的安装而产生

4.2.2 blog
4.2.2.1 settings.py

  这个文件中包括了项目的初始化设置,可以针对整个项目进行有关参数配置,比如配置数据库,添加应用等,

4.2.2.2 urls.py

  这是一个URL配置表文件,主要是将URL映射到应用程序上。当用户请求某个URL时,Django项目会根据这个文件中的映射关系指向某个目标对象,该对象可以时某个应用中的 urls.py 文件,也可以时某个具体的视图函数。在 Django 中,这个文件也被称为URLconf。

4.2.2.3 wsgi.py

  WSGI是Web Server Gateway Interface 的缩写。WSGI是Python所选择的服务器和应用标准,Django也会使用。

4.2.2.4 _pycache

  一个编译后的文件夹,不运行项目则不会产生。

4.2.3 blog_app1
4.2.3.1 admin.py

  在这个文件中,可以定义 Django 管理工具,比如设置在管理界面能够管理的项目,或者通过重新自定义与系统管理有关的类对象,向管理功能增加新的内容。

4.2.3.2 apps.py

  这个文件是 Django1.10 之后增加的,通常包含对应用的配置,比如管理功能提供一个适合的应用名称。

4.2.3.3 migrations.py
4.2.3.4 models.py

  这是应用的数据模型,但是每个 Django 应用都应当有一个 models.py 文件,虽然该文件可以为空,但是不能删除。

4.2.3.5 test.py

  这个文件中可以编写测试文档来测试所建立的应用。

4.2.3.6 views.py

  这是一个重要的文件用户保存响应各种请求的函数或者类。如果编写时是函数,则称之为基于函数的视图;如果编写的是类,则称之为基于类的视图。

4.2.4 db.sqlite3

  这是一个默认的数据库。因为我们还没有配置数据库,所以就有了以一个默认的配置文件(这个默认的文件是在./blog/settings.py 中配置生成的)

五、网站配置

  前面仅仅是创建了应用,还没有将该应用注册到本项目中,因此暂时不能访问。
  在Django项目中,主管信息注册(对本项目进行各种信息声明)的文件是./mysite/settings.py

5.2.1 DEBUG

  其值为True或者False。在开发过程中,需要设置成True,在测试功能时,Django能够显示详细的报错信息——这是“开发模式”。如果将项目部署到真正要对外发布的服务器上,我们称之为“生产环境”,必须将其值修改为False,从而避免暴露项目的内部信息

5.2.2 ALLOWED_HOSTS

  在DEBUG为True时,其值可以为空。当部署到生产环境中时,要把主域名填写到这里,才能通过域名访问到本网站

5.2.3 INSTALLED_APPS

  这是一个非常重要的配置项,所有的应用只有写到这里才能生效。默认情况下,已经有了一些应用,比如django.contrib.admin就是针对项目后台管理的应用。现在需要把刚刚建立的应用blog配置到这里。下面的INSTALLED_APPS列表中。

4.2.4 DTABASES

  在这里可以配置数据库。Django 能够支持多种数据库,比如常见的MySQL、PostgreSQL、Oracle 等。如果用到了别的数据库,可以到官方网站查阅相关配置方式

5.2.5 LANGUAGE_CODE

  设置项目的语言,一般情况下可以不用修改,如果非用汉语,则设置为LANGUAGE_CODE=‘zh-hans’(注意不是’zh-cn’)。

5.2.6 TIME_ZONE

  设置时区,通常使用东八区,设置为“Asia/Shanghai”。

六、总结
6.1 开发模式

  所谓“开发模式”,是相对“生产模式”而言的,即系统尚处于开发阶段,还没有正式对外部客户提供服务,这种模式下很多配置都是为了开发而定的,比如在Django开发模式中,不需要配置Apache或者Nginx等服务器,也能够运行网站,这是因为Django本身就提供了简单的Web服务器功能,但是这仅限于开发过程,当网站被正式部署之后,即转换为“生产模式”时,就需要对部分配置进行修改。
  在开发模式中,Django会自动检测到修改的代码并重新加载,不需要每次修改代码后重新启动Web服务器。只有在新增加文件后,才需要重启Django服务。
  运行Django服务的指令是python manage.py runserver。

6.2 项目和应用

  Django安装好之后,就有了django-admin这个默认命令,可以用diango-admin startproject projectname命令创建一个Django项目。项目是由若干个“应用”(app)组成的,实现具体功能。创建应用可以使用python manag.py startapp appname命令,也可以使用django-amdin startapp appname命令。
  创建了项目和应用之后,会生成一些默认的文件,它们要么是一些默认的配置,如settings.py,要么是空文件,仅仅是为了占据一个位置而已,如应用里面的views.py、models.py等。
  每个应用都要在项目的settings.py文件的INSTALLED_APPS中进行声明,告诉Django这个应用是本项目的一部分。
  Django将很多默认的功能(比如用户管理功能)视为一个应用。此外,Django是一个开放的系统,任何人都可以开发第三方应用,这些第三方应用通常用于解决某个常见的问题,开发者在项目中使用第三方应用的主要目的就是节省时间、快速开发。这些第三方应用如果要在项目中使用,也要在settings.py的INSTALLED_APPS中注册后才能生效。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务