MySQL数据库、前端
数据库、前端、Python基础等三大部分,但是,他们三块的内容没有串在一起,也就没办法开发出一个完成的web项目出来,因此,我们通过Django框架把这三者融合在一起,以后我们就可以很方便的开发出各种各样的项目.
web应用的简介
-
Web应用程序是什么
Web应用程序是一种可以通过Web访问的应用程序,也就是说只需要一个浏览器即可,不需要其他软件了 -
应用程序有两种模式C/S、B/S
Django就是开发的B/S应用程序,所以,我们就认为浏览器就是我们的客户端、Django框架就是服务端 -
Web应用程序的优点
- 只需要一个浏览器即可,不在需要安装其他应用软件
- 节省用户的空间资源
- 它们不需要更新,是因为服务端只要一更新版本,会直接影响客户端的更新
- 跨平台使用
-
Web应用程序的缺点
一旦web应用的服务端宕机,直接影响客户端的正常访问!!! -
什么是web框架:
框架的意思就是别人提前写好的,我们只需要按照人家的要求在固定的位置写固定的代码
手撸web框架
如何做到在浏览器地址栏中写什么后缀就返回什么内容
-
思路:
- 1.在后端肯定是要知道你在浏览器输入了什么后缀
- 2.判断是什么后缀就返回什么内容
存在的问题:
- socket部分我们每次都要书写(要写重复代码)
- 我们需要自己来处理HTTP格式的数据,自己做切分,自己来取值等比较麻烦
- 并发问题没有解决
Django框架的学习
Django是Python中使用最多的一个主流框架!
Python中的主流框架:
-
Django:
主要用来开发web项目的,它比较笨重,一般小型项目不怎么使用它,大而全 -
flask:
它是一个比较轻量级的框架,它主要依赖于第三方的模块,不断的安装第三方模块,小而精 -
tornado:
异步非阻塞,解决高并发比较擅长
这个框架学起来有点难度.
版本问题
- 1.X(老项目) 2.X(新项目) 3.X(新版本)
- 1.x和2.x本质上差别不是很大,但是也有区别,我们讲1.x,附带讲2.x的区别
在drf中,都要使用2.x以上版本,drf这个框架要求django的版本必须是2.x以上
注意事项
- 你的项目名称和应用名称以及其他文件的名称都要使用英文的,坚决不能够使用中文的
- 你的计算机名称最后都使用英文的
- 一个pycharm窗口只打开一个django项目,不能够一个窗口打开很多个django项目
如何使用Django
-
安装django
pip install django==1.11
django版本要和解释器的版本要匹配:
django2.X版本------------>解释器的版本最后3.6以上 -
如何验证django是否安装成功
在cmd中输入:django-admin------>如果有输出内容就说明安装成功
创建项目
命令行创建
你可以先切换路径,切换到你想把django项目放到的路径里
django-admin startpeoject 项目名
Pycharm创建
file >>> New Project >>> django
启动项目
命令行启动
先把路径切到manage.py所在的路径
解释器 manage.py runserver
项目启动起来之后,会监听:http://127.0.0.1:8000/
-
如何修改端口号:
- python3 manage.py runserver 127.0.0.1 8001
pycharm启动
点击开始按钮
访问项目: http://127.0.0.1:8000/
Next, start your first app by running python manage.py startapp [app_label].
创建应用
命令行创建
解释器 manage.py startapp 项目名称.
pycharm创建
直接创建:
注册应用
用命令行创建的才需要注册,pycharm创建时会自动注册
打开settings 找到INSTALLED_APPS
将应用路径加入
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config', # 全称
'app01', # 简称
]
主要文件介绍
myfirst_dj # 项目名称
app01 # 应用名称
migrations # 这个是用来存储数据库迁移记录
init.py
admin.py # 跟后台项目注册等相关的
apps.py # 跟一些注册相关
models.py # 跟数据库打交道的 模型层----->MTV模型
tests.py # 测试文件
views.py # 视图文件,写一些后端逻辑
myfirst_dj
init.py
settings.py # 配置文件相关的
urls.py # 路由相关的
wsgi.py # 内部封装的wsgiref服务器,uwsgi服务器之后,这个文件就没用了uwsgi.py
db.sqlite3 # Django自带的小型数据库
manage.py # Django框架的入口文件
应用
django主要开发的就是一款web应用!
Django框架类似于是一所大学(空壳子)
应用就是大学里面的二级学院(具备独立的功能模块)
应用名一定要见名知意
小白必会三板斧
在 urls中写写的函数必须满足的条件
形参
在 urls中写写的函数必须加入形参request
返回值
函数必须有返回值,需要在views导入后面加上HttpResponse
-
返回字符串
return HttpResponse("OK") # 返回字符串的
-
返回html文件
返回html文件时,html文件必须写在己创建的templates文件夹,如果没有则需要自己创建,自己创建的templates文件夹,要在配置文件注册
找到TEMPLATES
>>>>'DIRS': [],
>>>>'DIRS': [os.path.join(BASE_DIR, 'templates')],
然后返回return render(request, 'index.html')
重定向
需要在views导入后面加上redirect
return redirect('http://www.baidu.com') # 重定向