大家好,从今天开始呢,咱们进行django框架的学习,课程总共分为6节,通过6节课的学习,让大家对django有具体的了解,并能使用django开发出具有交互功能的网站应用。好,下面咱们进行第一节的学习。在学习django之前呢,咱们先了解什么web框架 大家看一下这张图:
从图上可以看出,web框架,就是将路由系统、业务处理逻辑、数据库与模板耦合这些功能集中打包在一起,实现网站应用开发的底层功能。
由此可见,咱们在使用web框架进行网站应用开发中,就不用考虑如何请求、解析、响应等这些底层操作,咱们只需要按照web框架的规则进行填写和修改,就能实现相应的业务功能,从而让网站开发变得很简单。
在语言中,有很多web框架,常用的有django,turbogears,web2py和flask,每个框架都有其自身的特点和优势,咱们可以根据不同的项目,选择不同的框架来进行开发,对于刚开始接触web应用开发,我建议还是使用django,主要原因也是因为他上手快,使用简单,能快速搭建出高性能的网站应用。
下面咱们介绍下django,django这个名字来自django reinhardt(强哥.莱恩哈特),他是法国著名吉他手,爵士乐史上伟大的琴师。django语言是在2003年时,由阿德里安和西蒙开发出了的,最早是用于内部新闻编辑。直到 2005 年正式对外发布。有了django,咱们可以在几个小时内就开发出一个网站应用,让网站开发变得更加简单。
django 框架特点:
1、django的框架是一种mtv模型组织,类似mvc,开发快速,维护和升级非常方便
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 install django # (安装django的最新版本)`
– 或
– `pip install django[==版本]`
– 如:
– `pip install django==3.0`
(安装django的指定版本)
– 查看
– import django
print(django.version)
– django的卸载
– pip uninstall django
3、创建第一个网站
上面咱们把django框架的基本情况做了个大致了解,下面咱们就通过实际操作,创建一个网站,来看看django到底是怎么运行的。这里咱们要用一个pycharm编辑器。对于编辑器的情况这里就不做太多介绍,具体安装方法在讲义里面有,如果没安装的,可以自行去根据方法来安装。
现在咱们打开pycharm,看到这个界面,咱们点击创建项目-选择django 设定项目存储位置,点击create 就会创建一个mysite项目。
django将自动生成下面的目录结构:
与项目同名的目录中是配置文件,venv 虚拟环境, manage.py是django项目管理文件。
– 目录文件说明:
– mysite 项目包文件夹
– 项目包的主文件夹(默认与项目名称一致)
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
局域网内也允许访问
注意:
如果要在局域网内访问的话,启动方式:
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服务就运行起来了。
这样打开后,咱们就看到网站了,可以说不用写一行代码,就能建立一个网站 。下面咱们逐个文件介绍一下,看看他们都是什么功能,起什么作用。