首页 > 其他 > 详细

django基础,前后端分离数据传参

时间:2019-10-25 17:29:19      阅读:116      评论:0      收藏:0      [点我收藏+]

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

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),      #添加文章

 

django基础,前后端分离数据传参

原文:https://www.cnblogs.com/hancece/p/11739095.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!