【问题标题】:Get value from jquery to django view从 jquery 获取值到 django 视图
【发布时间】: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"

标签: jquery django


【解决方案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 中选择时。我更新了我的代码,最后一个结果显示在

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

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 2015-05-09
  • 1970-01-01
  • 1970-01-01
  • 2013-11-06
  • 1970-01-01
相关资源
最近更新 更多