从 jquery 获取值到 django 视图

Posted

技术标签:

【中文标题】从 jquery 获取值到 django 视图【英文标题】:Get value from jquery to django view 【发布时间】:2016-11-26 02:56:35 【问题描述】:

如何获取对象的值并在 Django 视图中使用它?

我需要使用自动完成搜索的结果来过滤 Django 中的视图。 这是我的搜索视图:

def search_view(request):
q = request.GET['term']
print q
sc = []
users = Account.objects.filter(username__icontains=q)
for user in users:
    sc.append(account.username)
content_type = 'application/json"
return HttpResponse(json.dumps(new), content_type)

在模板中,结果是例如:user1。我想将此值带到另一个 django 视图中:

def another_view(request):
    Event.objects.filter(member = user1)

我的 jquery 代码是这样的:

$( "#acounts" ).autocomplete(
          source: "% url 'search_view' %",
          focus: function( event, ui ) 
           $( "#acounts" ).val( ui.item.label );
            return false;
              select: function( event, ui ) 
            $( "#accounts").val(ui.item.label );
            $( "#accounts-id").html( ui.item.label );
            return false;

和html:

  <input id="accounts">
  <p id="accounts-id"></p>

【问题讨论】:

我们可以看看你现在尝试了什么吗? 顺便说一句,您在这一行中使用了不同类型的引号 - content_type = 'application/json" 【参考方案1】:

url.py

 url(r'^api/user/(?P<id_user>w+)/$', views.another_view,name="another_view"),

views.py

def another_view(request,id_user):
    Event.objects.filter(member = id_user)
    # do stuff
    # return stuff

jquery:

var yourTerm = "something";
$.get( "api/autocomplete/yourobject/" + yourTerm, function( users) 
    // users = for example: ["user1", "user2"]

    // could be get or post or whatever depending what you are trying to do
    $.get( "api/user/" + users[0], function( data ) 
         // data is what your view responds
    );

);

【讨论】:

我刚刚更新了我的问题,我不知道我是否理解 - 用户在我的代码“帐户”中?我怎样才能得到“user_id”?这是“account_id”吗? 但是您希望何时将用户发送到视图?您想为每个自动完成的结果发送它,还是想在客户进行任何交互后发送它?如果您想使用 id,您需要从自动完成功能中获取它。您想在 javascript 中使用的任何数据,都需要从 django 视图函数中获取 我想为每个自动完成的结果发送它,以生成 csv,就像有人首先搜索用户,结果是“user1”然后他点击“create_report_on_csv”,这是另一个视图的结果 但是如果有人搜索user,结果可能是[user1,user2,user3,user4]。那么你想在一次调用中将它们全部发送到一个视图吗? please 非常不清楚您在假装做什么,而且很难提供帮助。我花了很多时间来猜测你在假装做什么 对不起,我正在写最后一个结果,即在选择中,当有人从下拉列表 [user1,user2,user3] user1 中选择时。我更新了我的代码,最后一个结果显示在

中,这是我需要在另一个视图中的过滤器中使用的值

以上是关于从 jquery 获取值到 django 视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在Django中正确处理获取html输入值到视图和url模式?

从视图获取值到控制器,然后到另一个视图

无法从一个视图控制器获取值到另一个

如何从 javascript 文件中获取函数的值到 ASP.NET MVC 视图?

从spring boot模型视图对象获取值到角度JS 5

Rails - 从模型中获取值到应用程序布局中