Django基础必会

  • Django项目目录

    • mysite
      -mysite
      -__init__.py
      -urls.py(函数和函数的对应关系)
      -settings.py(Django项目的配置信息)
      -wsgi.py(收发socket消息相关)
      -manage.py(命令行入口文件)
      -Template(专门用来放HTML文件的)
  • 必备三键套

    • from django.shortcuts import HttpResponse, render, redirect
    • HttpResponse作用,内部与传入一个字符串参数,返回给浏览器

      • def index(request):    #内部必须有request
        # 业务逻辑代码
        return HttpResponse("OK")
    • render作用,接收一个待渲染的模块文件和一个保存具体数据的字典参数,将数据填充进模板文件,最后把结果返回给浏览器

      • render(request, 'index.html')
        render(request, 'login.html', {'error_msg': error_msg})
      • 例:

      • def login(request):
        error_msg = ""
        if request.method == "POST":
        email = request.POST.get("email")
        pwd = request.POST.get("pwd")
        if email == "xyh@123.com" and pwd == "xyh123":
        return redirect("/index/")
        else:
        error_msg = "邮箱或者密码错误,请重新输入"
        return render(request, "login.html", {"error_msg": error_msg}) #html中有对应的格式,对其替换
    • redirect接受一个URL参数,重置向(跳转)到指定URL

      • def index(request):
        # 业务逻辑代码
        return redirect("/home/") #在同一个网站的不同地址跳转
        return redirect("https://www.baidu.com") #跳转到具体的URL
      • 实际样式

  • html文件相关文件配置

    • html文件放在templates文件夹中,根据setting.py中的关联路径
  • 静态文件配置

    • 在setting.py文件底配置静态文件保存目录(css,JavaScript,Images都配置在静态文件中)

    • # Static files (CSS, JavaScript, Images)
      # https://docs.djangoproject.com/en/1.11/howto/static-files/ STATIC_URL = '/static/'
      # 固定的配置项,告诉Django框架我的静态文件保存在哪些目录下
      STATICFILE_DIRS =[
      os.path.join(BASE_DIR, "static")
      ]

  • 登陆示例

    • form表单提交数据的三个关键

      • form标签必须要有action(提交到哪里)和method属性

      • form标签中用户输入的标签中必须要有name属性
      • form标签中必须要有submit提交按钮
    • 对于输入框提交的值的获取

      • request.POST     # 所有POST请求提交的数据(类似一个大字典)
        request.POST["pwd"] #提取提交数据中的键为pwd对应的值
        request.POST.get("pwd",None) #提取值,放置报错,推荐使用
  • Django app创建方法

    • 为什么要有app

      • 一个Django项目中可以以app为单位划分不同的功能。
    • 1.创建Django项目时,在more setting中创建app文件,这样pyCharm会自动配置文件

    • 2.直接在Django中Terminal中输入命令

      • python manage.py startapp app01 #app01为app名字
      • 手动在setting.py中INSTALLED_APPS中加入app的信息

        • # Application definition
          # 当前项目中存在的app
          INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
          # 'app01',
          'app01.apps.App01Config', # 告诉Django 我有一个自己的app叫app01
          ]
  • Python基础创建Django 项目步骤

    • 1.在pycharm或者命名行创建一个Django项目

      • django-admin startproject 项目名
    • 2.创建一个初始的app,并且在setting.py中配置app文件的目录

      • python manage.py startapp app名字
    • 3.检查settings.py 专门存放html文件的templates配置项

    • 4.配置静态文件相关

      • 在项目的根目录中创建一个用来存放静态文件的static目录

      • STATIC_URL = '/static/'
        STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
        ]
    • 5.在settings.py文件中将Csrf大概46行注释掉

      • 否则表单没办法提交数据,会提示forbidden 403的错误

Django基础必会的更多相关文章

  1. Django基础必会套装

    from django.shortcuts import HttpResponse, render, redirect 1. HttpResponse('OK') --> 把字符串的OK转成二进 ...

  2. Django基础(一)

    Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...

  3. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

  4. Django基础之MTV模型

    一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Control ...

  5. day 63 Django基础九之中间件

    Django基础九之中间件   本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学 ...

  6. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

  7. Django基础核心技术之Model模型的介绍与设计

    Django基础核心技术之Model模型的介绍与设计原创: Yunbo Shi Python Web与Django开发 2018-05-03Django网络应用开发的5项基础核心技术包括模型(Mode ...

  8. Django基础之模型(models)层(上)

    目录 Django基础之模型(models)层 单表查询 必知必会13条 神奇的双下划线查询 多表查询 外键的字段的增删改查 表与表之间的关联查询 基于双下划线的跨表查询(连表查询) 补充知识 Dja ...

  9. day 65 Django基础十一之认证系统

    Django基础十一之认证系统   本节目录 一 auth模块 二 User对象 三 扩展默认的auth_user表 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 auth模块 我们 ...

随机推荐

  1. MySQL里的那些日志们

    该系列博文会告诉你如何从入门到进阶,从sql基本的使用方法,从MySQL执行引擎再到索引.事务等知识,一步步地学习MySQL相关技术的实现原理,更好地了解如何基于这些知识来优化sql,减少SQL执行时 ...

  2. kube-scheduler源码分析(1)-初始化与启动分析

    kube-scheduler源码分析(1)-初始化与启动分析 kube-scheduler简介 kube-scheduler组件是kubernetes中的核心组件之一,主要负责pod资源对象的调度工作 ...

  3. app内嵌H5网页(webviewJavaScriptBridge)

    摘要:使用的插件为webviewJavaScriptBridge,app端需要引入一下这个包,html页面只需一段JS代码 与IOS交互 <! 申明交互(此处代码固定) > functio ...

  4. archery关闭导出功能

    https://github.com/hhyo/Archery/issues/1367 进入docker容器,找到sqlquery.html.修改showExport相关配置为以下内容. {% if ...

  5. CentOS7更新OpenSSH8

    今天使用漏洞扫描工具扫描了一下系统漏洞,发现有一个openssh版本的漏洞.所以本着安全的原则修复一下. 第一时间打开百度搜索相关内容,大多数是编译安装的.每个人的环境和版本也不一样.有一定连不上去的 ...

  6. 什么,有狗快跑!慢着,这次手把手教你怎么过安全狗!(sql注入篇)

    前言 在记忆里上次绕安全狗还是在上次,开开心心把自己之前绕过狗的payload拿出来,发现全部被拦截了,事情一下子就严肃起来了,这就开整. 环境 本次环境如下sqli-lab的sql注入靶场 网站安全 ...

  7. BUUCTF-jarvisoj_level0

    因为最近正在学习pwn,所以一直在各种CTF平台刷题,(因为初学,目前刷的一下题目都是相较于入门) 下载附件丢到kali里面checksec检测一下, 有一个NX,然后放到IDA,直接shift+f1 ...

  8. windows清理用户痕迹

    1.日志管理器的基本使用 在这里创建自定义视图是非常重要的 在设置自定义视图不必设置的事件日志选项太多,可以按日志也可以按源进行设置,根据自己的情况来做决定 在cmd下可以使用wevtutil cl ...

  9. linux服务器随机10字符病毒/libudev4.so病毒清理的过程

    故障表现:某天晚上突然收到某项目一台web服务器CPU报警,SSH连接困难卡顿,登陆后发现CPU使用率飙升到700%,第一感觉是被黑了,来事了. 故障处理: 1.登陆上后发现有好多莫名的命令(who/ ...

  10. VIM对替换的数字进行计算

    VIM对替换的数字进行计算 运行下面的命令 %s/sub(\([0-9]*\))/\=submatch(1)+8/g 函数式 :s/替换字符串/\=函数式