天天看点

我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app

Django框架初体验

  • 虚拟环境
  • Django的介绍
    • Django版本与python版本对应
  • Django项目的创建,运行和创建app
    • 创建Django项目
    • 运行Django项目
  • Django项目的结构
  • Django创建app

虚拟环境

       •如果用Django 1.10.x开发了一个网站,同时有一个用Django 0.9开发的旧项目需要维护,但是Django 1.10不再兼容Django 0.9的一些语法。这时候就会碰到一个问题,如何在系统环境中同时拥有Django 1.10和Django 0.9两套不同的环境呢?

       •解决方案:我们就可以通过安装虚拟环境来解决这个问题,创建多个虚拟环境实现环境拆分,每个虚拟环境安装不同版本的库,从而满足不同的需求,各个虚拟环境之间相互独立、不对其它环境产生影响

虚拟环境的详细操作参考以下博客:

python虚拟环境的安装与配置(究极详细易理解版!!!)

(这个关于虚拟环境的博客也是博主写的,有任何问题可以私聊博主!!!)

Django的介绍

       •Django框架的设计遵循MVC思想,但是有自己的一个名词,叫做

MVT

,框架如下图所示:

MVT框架——Django的框架

       •M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答

T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html

我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app

Django,发音为

[`dʒæŋɡəʊ]

,我们习惯性的读

(酱狗!!)

Django诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发

Django版本与python版本对应

       •注意:我们在python中使用Django时,必须对应相应Django版本,否则会使用不了Django中的一些功能,出现bug

       •Django与Python版本对应如下:

Django版本 Python版本
1.11 2.7、3.4、3.5、3.6、3.7(在1.11.17中添加)
2.0 3.4、3.5、3.6、3.7
2.1 3.5、3.6、3.7
2.2 3.5、3.6、3.7、3.8(在2.2.8中添加)
3.0 3.6、3.7、3.8

       •关于Django版本对应更多的介绍可以查看文档说明:Django文档说明

       •关于Django的更多介绍可以参考:Django官网和Django官方中文文档

Django项目的创建,运行和创建app

创建Django项目

       •创建Django项目有两种方式:

              •命令行创建

              •进入虚拟环境,创建相应的目录,进入目录,在命令行中执行命令

django-admin startproject [项目名称]

,例如执行命令

django-admin startproject django_one

即可创建项目

django_one

项目 操作如下图所示:

我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app
我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app

              •IDE创建

              •用PyCharm(专业版)等IDE创建Django项目,示意如下:

我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app

建议使用第一种命令行创建,可适用于各种Python解释器

运行Django项目

       •运行Django项目也有2种方式:

              •命令行运行:

跳到项目目录如django_onde下执行

python manage.py runserver

,即可运行项目,运行后就可以在浏览器中通过http://127.0.0.1:8000/来访问

如果想要修改端口号,可以在运行的时候可以指定端口号,例如执行

python manage.py runserver 9000

就可以通过9000端口访问

              •通过PyCharm运行:

              pycharm的配置如下:

我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app
我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app

       •配置完成后,点击运行:

Watching for file changes with StatReloader
System check identified no issues (0 silenced).

You have 18 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. # 出现此提示即我们需要映射数据库
March 10, 2021 - 21:36:52
Django version 3.1.7, using settings 'django_two.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
           

       •可以看到打印结果中,提示了要进行进行数据库的映射

       •可以先在cmd中执行

python manage.py migrate

来映射数据库,再运行项目就不会出现数据库映射的提示

       •映射完成后在

django_one/settings.py

中可以看到:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
           

       •pycharm中Django默认使用的数据库是

sqlite3

,即文件型数据库,后续可以进行配置使用其它数据库

访问http://127.0.0.1:8000/,可以看到:

我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app

Django项目的结构

项目主目录中:

       •manage.py:

              •用于和项目交互,一般都是在命令行输入python manage.py [子命令]执行相关指令,可以执行python manage.py help查看帮助。除非有明确的目的和正确的操作方法,否则一般情况下不应该编辑这个文件

       •项目同名子目录:

              •settings.py:

              项目的设置文件,所有和项目相关的配置都在settings.py中

              •urls.py:

              用来配置URL路由

              •wsgi.py:

              项目与WSGI协议兼容的web服务器入口,部署项目的时候需要用到,一般情况下不需要修改

              •除了这些文件,还包括执行具体功能的app

Django创建app

在一个项目中,一般有很多个功能模块,每个功能一般会对应一个app来实现其功能,两个模块之间的耦合度越低越好、尽量做到相互独立

app是Django项目的组成部分,一个app代表项目中的一个模块,所有URL请求的响应都是由app来处理

比如豆瓣有图书、电影、音乐、同城等多个模块,如果站在Django的角度来看,这些模块就是app,这些app共同组成豆瓣这个项目。因此可以说:

       •Django项目由许多app组成,一个app可以被其他app使用,Django也能拥有不同的app

       •此时需要创建app,通过命令

python manage.py startapp app

名称即可创建app,如执行

python manage.py startapp book

即创建名为book的app,目录结构如下:

我爱Django框架之Django初体验(你想要的这都有!!!)虚拟环境Django的介绍Django项目的创建,运行和创建appDjango项目的结构Django创建app

可以看到,创建了book目录,下面包含一些文件:

       •admin.py

       用于后台管理

       •apps.py

       该app的相关配置

       models.py

       定义数据模型

       •tests.py

       写测试代码

       •views.py

       图文件,接收请求、处理数据,与M和T进行交互

在创建项目之后,为了建立应用和项目之间的联系,还需要对应用进行注册,即修改

settings.py

中的

INSTALLED_APPS配置项