首页 > 其他分享 >django-05-请求和响应

django-05-请求和响应

时间:2022-11-10 16:26:18浏览次数:33  
标签:return 请求 05 request django 响应 html 浏览器 POST

请求和响应

def something(request):
    # request是一个对象,封装了用户发送过来的所有请求相关数据
    - 1. [请求]获取请求方式 GET/POST
        print(request.method)

    - 2. [请求]在url传递值
        print(request.GET)

    - 3. [请求]在请求体中提交数据
        print(request.POST)

    - 4. [响应]HttpResponse() 内容字符串内容返回给请求者
        return HttpResponse("返回内容")

    - 5. [响应]读取html的内容 + 渲染(替换)->字符串,返回给用户浏览器
        return render(request, "something.html", {"title": "来了"})

    - 6. [响应]让浏览器重定向到别的页面
        return redirect("https://www.baidu.com")
        关于重定向:
          - 浏览器发起请求,返回给浏览器,你自己访问去吧,然后浏览器自己访问重定向网站

案例

案例: 用户登陆
    url绑定->视图函数:创建登陆函数
              判断请求方式,get返回html页面
              post获取请求体内容,进行判断

    视图函数:
        def login(request):
            if request.method == "GET":
                return render(request, "login.html")
            # 如果是POST请求,获取用户提交的数据
            username = request.POST.get("user")
            password = request.POST.get("pwd")

            if username == "root" and password == "123":
                return redirect("https://www.baidu.com")
            return render(request, "login.html",{"error_msg":"用户名或密码错误"})


    html页面: form表单一定要写{% csrf_token %},否则认证不通过,跳转页面会失败
        <h1>用户登录</h1>
        <form method="post" action="/login/">
                {% csrf_token %}
              <input type="text" name="user" placeholder="用户名">
              <input type="password" name="pwd" placeholder="密码">

              <input type="submit" value="提 交">
                <span style="color:red;">{{ error_msg }}</span>
        </form>

标签:return,请求,05,request,django,响应,html,浏览器,POST
From: https://www.cnblogs.com/kh-1314/p/16877463.html

相关文章

  • django-02-初体验
    一.快速上手1.确保APP已注册[settings.py]-在项目中的settings.py中关联APP中的apps.py中的类-INSTALLED_APPS=['app01.apps.App01Config']......
  • spring mvc 请求异步处理,即时响应
    springmvc的controller,对于一个非常耗时的处理,让controller先异步返回响应给前端,后台继续慢慢执行完。@RequestMapping(value="refreshScore.do",method=Reque......
  • 白嫖永久服务器1668059148445
    阿贝云服务器注册免费领取1核1g内存5m宽带10g内存的云服务器,对于个人来说完全够用了。还有免费备案和虚拟主机,免备案对于搭建个人博客就很方便,部署了小项目上去,运行流畅不......
  • 中文书籍对《人月神话》的引用(20211105更新161-165本):大师品软件、JavaScript开发框架
    ​​中文书籍对《人月神话》的引用(第001到160本)>>​​《人月神话》于1975年出版,1995年出二十周年版。自出版以来,该书被大量的书籍和文章引用,直到现在热潮不退。UMLChina摘录......
  • 能不能手写Vue响应式?前端面试进阶
    Vue视图更新原理Vue的视图更新原理主要涉及的是响应式相关APIObject.defineProperty的使用,它的作用是为对象的某个属性对外提供get、set方法,从而实现外部对该属性的......
  • [JavaScript-05]函数和箭头函数
    1.函数functionaddNums(num1=1,num2=2){console.log('num1+num2:',num1+num2);returnnum1+num2;}addNums();addNums(5,6);console.log('addNums(......
  • [Bug0051]idea插件jrebel 运行报错JRebel-JVMTI [FATAL] Couldn‘t write to C:\User
    1、问题idea插件jrebel运行报错JRebel-JVMTI[FATAL]Couldn‘twritetoC:\Users\报错JRebel:Couldnotcreatelogfile:C:\Users\22611\.jrebel\jrebel.log(系......
  • [Bug0050] LettuceConnectionFactory was destroyed and cannot be used anymore
    1、问题LettuceConnectionFactorywasdestroyedandcannotbeusedanymore报错日志:应该是写了rfid硬件扫描,但是电脑未连接RFID硬件扫描设备java.lang.IllegalStateE......
  • luffy学习-05
    一、协同开发在公司中,都是多人共同开发同一个项目组长本地创建出空项目,底层代码写完——>提交到远程仓库和同事们张三李四王麻子都要共同开发这个项目我们要把代码clo......
  • CF1056G Take Metro 题解
    *2900的题,评到黑题是因为std做法要用可持久化平衡树,然而有一种更简洁的做法。注意到\(t\)很大,然后每一步只和\(t\bmodn\)的大小有关系,因此你想先求出\(t=n\)时......