zoukankan      html  css  js  c++  java
  • django基础,前后端分离数据传参

    以之前随笔的个人博客添加文章为例:

    1.一个简单的添加文章的html:add.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>添加文章</title>
    </head>
    <body>
    <form action="/add" method="post">
        title:<input name="title">
        content:<input name="content">
        <select >
            {% for nav in daohang %}
                <option name="nav_id" value={{ nav.id }}></option>
            {% endfor %}
        </select>
        <input type="file",name="img">
        <input type="submit",name="提交">
    
    
    </form>
    </body>
    </html>

    页面:

    2.后端传值:

    获取前端传值:

    (1)Get方法,从url中获取参数:request.GET.get("参数名"),如:page=request.GET.get('page',1),这里的1是默认值

    (2)Post方法:request.POST.get(“参数名”)。如:title=request.POST.get('title') 

    这里的参数名是前端定义的参数名

    def add_article(request):
        '''添加文章'''
        if request.method=='GET':     #直接在浏览器里打开页面就是get请求,这里是一进到页面,就把add.html内容返回
            return render(request,"add.html")   
        else:
            title=request.POST.get('title')   #post请求,获取传递数据
            content=request.POST.get('content')
            nav_id=request.POST.get('nav_id')
            img=request.FILES.get('img')   #获取file上传文件的数据
            models.Article.objects.create(title=title,content=content,nav_id=nav_id,img=img)
            return HttpResponseRedirect('/index')    #提交后跳转到的页面

    3.urls.py:添加add/地址

    from user import views
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('index/', views.index),   #这里只写方法名,不写括号
        path('info/<int:id>', views.info),
        path('nav/<int:id>', views.nav_article),   #查询地址例如nav/6,这里的id,传给views.nav_article  int是id类型,如果是字符串就是str
        #后边可以跟多个地址,如:path('nav/<int:id>/<str:article_id>', views.nav_article)
        path('add/', views.add_article),      #添加文章
  • 相关阅读:
    linux系统命令记录
    window下,nodejs 安装 http-server,开启命令行HTTP服务器
    前端学习记录2:设计稿分析
    前端学习记录1:开始
    如何做到让自己长时间精神专注?
    sublime使用
    nodejs 第一次使用
    收集好看的效果及互动页面
    转 如何赢得朋友和获得影响力
    转 scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
  • 原文地址:https://www.cnblogs.com/hancece/p/11739095.html
Copyright © 2011-2022 走看看