大家好,从今天开始,让我们学习django的框架。本课程分为6节课。通过6节课的学习,我们可以对django有一个具体的了解,并使用django开发具有交互功能的网站应用。好,让我们继续第一部分的学习。在学习django之前,让我们先了解一下我们有什么web框架。让我们看看这张照片:
从图中可以看出,web框架是将路由系统、业务处理逻辑、数据库和模板的功能封装耦合在一起,实现网站应用开发的底层功能。
可以看出,当我们使用web框架开发网站应用程序时,不需要考虑如何请求、分析和响应这些底层操作。我们只需要按照web框架的规则进行填写和修改,就可以实现相应的业务功能,从而使得网站开发变得非常简单。
在python语言中,web框架有很多,常用的有django、TurboGears、web2py和flask,每一种都有自己的特点和优势。我们可以根据不同的项目选择不同的框架来开发。对于那些刚刚开始接触网络应用开发的人,我建议使用Django。主要原因是Django快捷易用,可以快速构建高性能的网站应用。
我们来介绍一下django,django这个名字来自于坦哥雷恩哈特(Django莱恩哈特),他是法国著名的吉他手,爵士历史上伟大的钢琴家。Django语言是阿德里安和西蒙在2003年开发的。它首先用于内部新闻编辑。2005年正式发布。有了Django,我们可以在几个小时内开发一个网站应用程序,让网站开发变得更加容易。
Django框架特性:
1.django的框架是一个类似于mvc的mtv模型组织,发展迅速,维护升级方便。
2.可重用性,相同的功能模块可以移植到不同的项目中使用。
3.安全性方面,django集成了一些必要的安全认证策略,如SQL注入、跨站点脚本、跨站点请求伪造等。我们可以通过开发来提高网站的安全性。
4.扩展性方面,django作为一个框架,具有很强的扩展性,可以基于它开发各种网站应用。
django版本
最新版本:3.0.1
当前教学版本:3.0.1
django官方网站
https://www.djangoproject.com/
2.安装Django
Django的安装非常简单。首先,确保您的计算机上安装了python和pip。让我们打开命令提示符,输入pip install django。
安装
1.在线安装:打开cmd命令提示符界面。
2.投入
“pip安装django #(安装最新版本的django)”
或者
“pip安装django [==版本]”
如:
` pip install django==3.0 `
(安装指定版本的django)
查看
进口django
印刷品(django。版本)
卸载姜戈
pip卸载django
3.创建第一个网站
以上,我们对django框架的基本情况做了一个大概的了解。接下来,我们将创建一个网站,看看django是如何工作的。我们将在这里使用pycharm编辑器。这里就不多介绍编辑了。具体安装方法见讲义。如果没有安装,可以按照方法自己安装。
现在让我们打开pycharm,看看这个界面。单击创建项目-选择django以设置项目的存储位置,然后单击创建以创建我的网站项目。
Django将自动生成以下目录结构:
与项目同名的目录是配置文件,venv virtual environment和manage.py是django项目管理文件。
目录文件描述:
my site项目包文件夹
项目包的主文件夹(默认与项目名称相同)
1.`__init__.py `
项目初始化文件,该文件在服务启动时自动运行。
2.asgi.py '
-用于处理websocket请求。
3.
`settings.py`– Django的配置文件, 此配置文件中的一些全局变量将为Django框架的运行传递一些参数
– setting.py 配置文件,启动服务时自动调用,
– 此配置文件中也可以定义一些自定义的变量用于作用全局作用域的数据传递
4. `wsgi.py`
– WEB服务网关接口的配置文件,仅部署项目时使用
5. `urls.py`
– 项目的基础路由配置文件,所有的动态路径必须先走该文件进行匹配
`manage.py` 文件介绍
– 此文件是项目管理的主程序,在开发阶段用于管理整个项目的开发运行的调式
– `manage.py` 包含项目管理的子命令, 如:
– `python manage.py runserver` 启动服务
– `python manage.py startapp` 创建应用
– `python manage.py migrate` 数据库迁移
– `…`
`settings.py` 文件介绍
1. `BASE_DIR`
– 用于绑定=当前项目的绝对路径(动态计算出来的), 所有文件都可以依懒此路径
2. `DEBUG`
用于配置Django项目的启用模式
1. True 表示开发环境中使用 `调试模式`(用于开发中)
2. False 表示当前项目运行在`生产环境中`(不启用调试)
3. `ALLOWED_HOSTS`
– 设置允许访问到本项目的网络地址列表
– 取值:
1. 如果为空列表, 表示只有`127.0.0.1`能访问本项目
2. [‘*’] 表示任何网络地址都能访问到当前项目
如:
localhost / 127.0.0.1 / 0.0.0.0 / IP
局域网内也允许访问
注意:
如果要在局域网内访问的话,启动方式:
python3 manage.py runserver 0.0.0.0:端口号
4. `INSTALLED_APPS`
– 指定当前项目中安装的应用列表
5. `MIDDLEWARE`
– 用于注册中间件
6. `TEMPLATES`
– 用于指定模板的配置信息
7. `DATABASES`
– 用于指定数据库的配置信息
8. `LANGUAGE_CODE`
– 用于指定语言配置
– 取值:
– 中文 : `”zh-Hans”`
9. `TIME_ZONE`
– 用于指定当前服务器端时区
– 取值:
– 中国时区 : `”Asia/Shanghai”`
10. `ROOT_URLCONF`
– 用于配置根级 url 配置 ‘mysite.urls’
– 如:
– `ROOT_URLCONF = ‘mysite.urls’`
– 缺省配置
– 模块
– `import django.conf.global_settings`
`url.py` 文件介绍
1. 网站路由功能的配置文件
2. urlpatterns 是一个 url() 实例的列表,如:
urlpatterns = [
path(r’^admin/’, admin.site.urls),
]
– 作用:
该文件会包含 urlpatterns 的列表用于表示路由-视图映射,通过 url() 表示具体映射
3. url() 函数
– 用于描述路由与视图函数的对应关系
– 模块
– `from django.conf.urls import url`
– 语法:
– url(regex,views,kwargs=None,name=None)
1. regex: 字符串类型,匹配的请求路径,允许是正则表达式
2. views: 指定路径所对应的视图处理函数的名称
3. kwargs: 向视图中传递的参数
4. name: 为地址起别名,反向解析时使用
– 注:
– 每个正则表达式前面的r表示`”`不转义的原始字符串
– 当urlpatterns内有多个url对象时,按自上而下的顺序进行配置,一但有 路由与url配置成功,则后面的所有url被忽略
`wsgi.py` 文件介绍
1.wsgi是一个接口,WSGI全称:Web Server Gateway Interface。网络服务网关接口
2.wsgi实现了HTTP请求、解析HTTP请求、发送HTTP响应等底层应用的功能,
Django中的应用(功能模块) – app
什么是应用(app)
– 应用在Django项目中是一个独立的业务模块,可以包含自己的路由,视图,… …
创建应用APP
在每个django项目中可以包含多个APP,相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也有联系。
所有的APP共享项目资源。
在pycharm下方的terminal终端中输入命令:
python manage.py startapp login
这样就创建了一个叫做login的APP,django自动生成“login”文件夹。
Django应用的结构组成
1. `migrations` 文件夹
– 保存数据迁移的中间文件
2. `__init__.py`
– 应用子包的初始化文件
3. `admin.py`
– 应用的后台管理配置文件
4. `apps.py`
– 应用的属性配置文件
5. `models.py`
– 与数据库相关的模型映射类文件
6. `tests.py`
– 应用的单元测试文件
7. `views.py`
– 定义视图处理函数的文件
– 配置安装应用
– 在 settings.py 中配置应用, 让此应用能和整个项目融为一体
INSTALLED_APPS = [
… …,
‘自定义应用名称’
]
– 如:
“`py
INSTALLED_APPS = [
‘login’, # 用户信息模块
‘regsier’, # 收藏模块
]
“`
4. 编写路由
路由都在urls文件里,它将浏览器输入的url映射到相应的业务处理逻辑。
简单的urls编写方法如下图:
5. 编写业务处理逻辑
业务处理逻辑都在views.py文件里。
通过上面两个步骤,我们将index这个url指向了views里的index()函数,它接收用户请求,并返回一个“hello world”字符串。
6. 运行web服务
现在我们已经可以将web服务运行起来了。
命令行的方式是:python manage.py runserver 127.0.0.1:8000
但在pycharm中,你可以这么干:
在上部工具栏中找到下面图示的图标。
点击下拉箭头
点击edit configurations
在host中填入:127.0.0.1 port中填入:8000
OK确定之后,点击绿色的三角,web服务就运行起来了。
这样打开后,咱们就看到网站了,可以说不用写一行代码,就能建立一个网站 。下面咱们逐个文件介绍一下,看看他们都是什么功能,起什么作用。