Django框架初识

时间:2023-01-28 05:51:29

一、安装:

pip3 install django

  注意pip加入环境变量,安装好以后记得把Django加入环境变量

       安装完成后,会在python目录下多了两个文件:1个django文件,1个可执行文件

    Django框架初识

二、创建Django工程

2.1命令行的方式

两步:

  第一步:创建

    进入你想创的文件位置,django-admin.exe startproject  程序名

第二步:运行

    进入程序名的文件夹,python manage.py runserver [ip:port]

  建立新站点就是使用上面的 django-admin.exe文件

  1.进入你想创立站点的位置:这里我是在G盘

Django框架初识

  2.运行服务端

    进入创建的站点的文件夹: 下面有个跟站点同名的文件与 manager.py文件

    使用 python manage.py runserver[ip:port]运行

    Django框架初识

三、文件介绍

   -myside

     -manager.py     #程序的管理,#1.运行web程序 2.创建app 3.orm框架自动生成数据库

     -myside

         -setting       #程序的配置文件,加密,缓存、文件路径等等

         -urls           #url与程序的对应关系

         -wsgi          #django只负责web框架,不负责sock连接,这个是负责socket的接口 wsgi使用默认python自带的模块,我们在后期上线使用uwsgi

四、app创建

  在主站程序中,有很多模块,为了让模块单独区分开。引出了app的概念

  windos下:进入主站程序文件:

      python  manage.py startapp  appName

app中views就是实现我们的逻辑代码的

4.1 app目录介绍

 migrations     # django orm框架,修改表结构的操作记录(差异化)
__init__ # python3中有没有都一样,python2中必须有,不然宝座
admin # Django为我们提供的后台管理
apps # 配置当前app
models # ORM:写指定的类,通过命令可以创建数据库结构
tests # 单元测试
views # ****业务代码****

 

五、配置文件

  创建2个文件夹:templates与static  为这两者在setting中配置路径。注释掉csrf

1.创建templates文件夹(如果是用pycharm,会自动生成)
2.配置模板路径:
'DIRS': [os.path.join(BASE_DIR, 'templates')], # <——
3.配置静态目录:cs、js都存放在这
3.1创建static文件夹
3.2在setting末尾加上:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
3.3引用方式
在html中,注意加上/static
<link rel="stylesheet" href="/static/commons.css" />
4.注释掉csrf:跨站请求攻击
# 'django.middleware.csrf.CsrfViewMiddleware',

六、前后端的交互

6.1 获取前端发来的数据

  request 中封装了所有的前端数据

    request.method        获取请求方式

    request.POST.get() 获取发送过来的数据

6.2 返回数据

  render其实底层调用的是HTTPResponse,    但是render多了个与模板语言渲染的功能。 渲染完成之后,再调用response 组成字符串,发给前端浏览器

return HttpResponse("字符串")
return render(request, "HTML模板的路径") #后面可以加一个字典参数,与模板渲染,发给客户
return redirect('/只能填URL') #只能发送URL,不会发送请求的数据。
redirect('/login')             #前面的"/"代指本地url,前面的域名端口

七、Django生命周期

1)客户端发起请求
2)路由系统:urls.py,html路径与函数的一个映射
3)视图函数:app/views.py,功能函数
4)视图函数从DB等取数据,并嵌套到html中(html模板templates中)。渲染或组合,最终生成字符串返回给用户