Django框架及使用

WEB与服务器
  • WEB : 表示用户可以浏览的网页内容(HTML,css,JS)
  • 服务器 : 能够给用户提供服务的机器
    • 硬件与软件
      • 硬件范畴:一台机器
      • 软件范畴:一个能够接收用户请求并给出响应的程序
        • APACHE
        • TOMCAT
        • IIS
        • Nginx
        • … …
    • 作用
      • 存储web所需要信息(HTML,图片,文件,音频,JS/css)
      • 能够处理用户的请求(request),并给出响应(response)
      • 执行服务器端程序:数据库操作
    • web与服务器之间的关系
      WEB与服务器之间的关系
    • Django框架
      • 使用Python语言来开发服务器端处理程序
框架
  • 什么是框架
    框架是一个为了解决开放性问题而存在的一种结构,框架本身提供了一些最基本的功能.我们只需要在框架的基础功能之上搭建属于自己的操作即可
  • Python中的框架
    • Django : 重量级的web框架
    • tornado : 异步框架
    • flask : 轻量级的web框架
    • ……
Django框架


  • 什么是Django
    • 是一个开源框架,2005年发布,采用Python语言开发.早期是做新闻以及内容管理的网站的.提供了非常强大的后台管理系统
  • Django的框架模式 - MTV
    • M : models 层
      • 模型层,负责数据库的建模以及CRUD的操作
    • T : Templates层
      • 模板层,用于处理用户显示的内容,如HTML
    • V : views层
      • 视图层,处理与用户交互的部分操作,从模型中获取数据,再将数据发送给模板,并显示给用户
        这里写图片描述

自己了解:MVC :三层架构
M:models 模型层,负责数据库的建模以及CRUD的操作
V : Views 视图层,用于处理用户显示的内容
C : controllers 控制层,处理与用户交互的部分内容,从模型中获取数据,再交给视图层,再显示给用户

Django的使用
  • Django介绍
  • Django的安装
    • 查看已安装的Django版本
      • 进入到终端以及Python的交互模式
        • Python3 / ipython3
      • 在交互模式中输入 import Django
        • 如果未报错:说明已经安装过Django
        • 如果报错:说明未安装
      • 查看已安装的版本
        • 交互模式中:Django.VERSION
    • 安装
      • 在线安装 - 使用 pip / pip3
        • sudo pip3 install django(默认安装的Django最高版本)
        • sudo pip3 install django==1.11.8(指定安装1.11.8版本)
    • 离线安装
      • 下载所需Django安装包
      • 在环境中解压Django包
        • tar -xvf Django-1.11.8.tar.gz
      • 进入到Django-1.11.8中
      • 安装:sudo python3 setup.py install
使用Django

Django项目框架结构介绍

  • manage.py
    • 负责执行Django中的各项操作文件
    • 如:
      • 启动服务
      • 创建管理员
      • 创建应用
      • 数据库的同步操作
    • 调用方式:
      • Python3 manage.py 子命令
      • ./manage.py 子命令
主目录(名称与项目名称相同)
目录名文件简介
__init__.py项目初始化文件,每当服务器启动的时候,都会自动执行
urls.py项目的基础url(路由)配置文件
wsgi.py应用服务器配置文件
settings.py项目的主设置文件

settings.py简介

模块简介
BASE_DIR获取当前项目的根目录路径
❶BEBUG调试模式;
❷ALLOWED_HOSTS设置允许访问本项目的地址列表
INSTALLED_APPS指定已安装的应用,如果有自定义应用的话,需要在此位置进行注册
MIDDLEWARE指定注册的中间件
ROOT_URLCONF指定项目的基础路由配置文件
TEMPLATES指定模板的信息
DATABASES指定数据库的信息
LANGUAGE_CODE指定网站的显示语言,如果要使用中文则可以修改为zh-Hans
TIME_ZONE指定时区,如果指定中国时区,则可以修改为Asia/Shanghai

❶开发过程:推荐使用True;上线运行:推荐改为false
❷如果不设置的话,只有本机能访问(localhost/127.0.0.1)
能访问推荐写’*’,表示人格地址都允许访问该项目(局域网)

url的使用

  • urls.py
    • 默认是在主目录中,主路由配置文件,会包含最基本的地址映射.
    • 每个请求到达后,都会由urls.py中的urlpatterns列表中的url()进行匹配
    • url()函数匹配上之后,可能将请求转交给其他的urls.py或视图(Views)去处理
url函数
  • url函数的语法
    • url(regex,views,kwargs=None,name=None)
参数解释
regex正则表达式,匹配请求的url
views视图处理函数或其他的urls.py
kwargs字典,用来向views传参,没有参数则可以省略
name字符串,给url()起别名,主要在模板中使用
ex:

    urlpatterns = [
        url(r'^run/$',run_views),
    ]
  • 通过url向views传参
    • 使用正则表达式传参
      • 使用子组传参,一个子组是一个参数,想要多个参数的话,可以使用多个子组
urlpatterns = [
    #访问路径是run/的时候,交个run_views去处理
    url(r'^run/$',run_views),
    #访问路径是run/任意两位数字,交给run_args_views去处理
    url(r'^run/(\d{2})',run_args_views),
    #访问路径是run/四位数字/两位数字/,交给run1_views处理
    url(r'^run/(\d{4})/(\d{2})/$',run1_views),
]
注意:
    1、在url()中,一个子组()表示一个参数
    2、在views.py中,对应的处理函数要根据url()中子组的个数,
       相应的定义参数,定义的参数要位于request之后
    ex:
        1、
            url(r'^run/(\d{2})',run1_views),

            def run1_views(request,num)
        2、
            url(r'^run/(\d{2})/(\d{4})',run2_views)

            def run2_views(request,num1,num2)

注意:
1. 在url()中,一个子组()表示一个参数
2. 在views.py中,对应的处理函数要根据url()中子组的个个数,相应的定义参数,定义的参数要位于request之后

ex:
1、
    url(r'^run/(\d{2})',run1_views),

    def run1_views(request,num)
2、
    url(r'^run/(\d{2})/(\d{4})',run2_views)

    def run2_views(request,num1,num2)
  • 使用url()第三个参数,字典传参
    • url(r’show/$’,show_views,{‘name’:’laoshe’,’age’:’89’})
    • def show_views(request,name,age):
      • name:表示的就是字典name参数的值
      • age:表示的就是字典age参数的值
  • 注意:
    • 视图处理函数中,必须声明参数
    • 参数的名称和位置,必须要与字典中的名称和位置保持一致
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值