Tag: django

如何在显示按字母顺序排列的搜索结果时修改行计数

我正在使用DataTables创建一个能够动态过滤上下文的表。 我在这里遵循基本的例子。 但是,我想进行一次自定义:在我的表中显示字母表结果,每个字母都有一个“标题行”。 例如: A – Apple – Avocado B – Bear – Button C – Car 我已成功完成此操作(在服务器端使用Django模板进行输出),但默认情况下页脚标签Datatables显示现在不正确,因为它计算标题行。 在上面的例子中,它显示: Showing 1 to 8 of 8 entries 什么时候应该读: Showing 1 to 5 of 5 entries. 进一步挖掘,信息结果通过API作为”language”: {“info”: “Showing START to END of TOTAL entries”,}访问”language”: {“info”: “Showing START to END of TOTAL entries”,} 。 我能够从我的Django模板中计算并将标题行保存为变量(例如var headercount = […]

Django – 如何在ajax函数下显示消息

我正在使用AjaxForm插件提交我的表单而不刷新。 喜欢: $(‘#my_form_id’).ajaxForm(function(){ //something on success or fail }); 这工作正常。 当我点击提交按钮时,它保存表单数据而不刷新。 但在此之前; 我在我的模板文件上有django消息,如: {% for message in messages %} {{ message }} {% endfor %} 如果post保存正确或出现故障,此代码的作用是显示通知。 现在; 我不能这样做。 我不明白我如何使用这些消息标签与ajaxfunction。 它只是保存post。 没有通知。 谢谢。 编辑: add_post url: url(r’^admin/post/add/$’, view=’add_post’,name=’add_post’), 相关观点: @login_required(login_url=’/login/’) def add_post(request): template_name = ‘add.html’ owner = request.user if request.method == “POST”: form = addForm(request.POST) if […]

Jquery和Django多个复选框

我是jquery的初学者所以请耐心等待。 我有一个jquery函数,允许我选择多个复选框并创建一个字符串,如下所示: function getSelectedVals(){ var tmp =[]; $(“input[name=’checks’]”).each(function() { if ($(this).attr(‘checked’)) { checked = ($(this).val()); tmp.push(checked); } }); var filters = tmp.join(‘,’); alert(filters) return filters; } 然后我调用django视图函数并传递字符串,如下所示: selected = getSelectedVals(); var myurl = “/bills/delete/?id=” + selected; $.ajax({ type: “GET”, url: myurl, data: selected, cache: false }); 在服务器上,我有一个删除视图函数,它迭代复选框值并操作列表。 def delete(request): global myarray idx = request.GET[u’id’] listidx […]

Django,类别和子类别

使用DataModel即时工作类别和子类别,这部分都很好,但我需要在我的菜单导航中使用我的类别和子类别,我尝试使用这个Jquery菜单 ,并且我使用子类别渲染我的菜单,但我迷失了以这种方式呈现子类别: Category Subcategory 1 Subcategory 2 … …. …. 我的问题:在数据模型中:使用’self’,我不知道在这种情况下做一个子类别(父亲是自己的字段)是多么糟糕… class Category(models.Model): name = models.CharField(core=True, maxlength=200) slug = models.SlugField(prepopulate_from=(‘name’,)) parent = models.ForeignKey(‘self’, blank=True, null=True, related_name=’child’) description = models.TextField(blank=True,help_text=”Optional”) 谢谢

在ajax请求中处理会话超时的最佳方法是什么?

考虑这个Django视图,它将获得与当前用户关联的项目列表: @login_required def list_items(request, page_number=0): items = Paginator(request.user.items, 5).page(page_number).object_list return HttpResponse(cjson.encode(items)) 显然,它希望使用login_required装饰器来限制对登录用户的视图的访问。 当未经身份validation的用户尝试访问视图时, login_required执行什么操作? 它向settings.LOGIN_URL返回一个HttpResponseRedirect 。 考虑这个调用视图的JavaScript代码: var getPage = function(pageNumber) { $.ajax({ url: “/list_items/” + pageNumber + “/”, success: function(data) { $(“#list_container”).html(formatData(data)) } }); }; 假设settings.SESSION_COOKIE_AGE = 60秒。 如果用户转到第1页,将其读取61秒,然后单击第2页的按钮,Django的login_required装饰器将检测到会话不再处于活动状态,并将返回HttpResponseRedirect(settings.LOGIN_URL) ,这将导致获取HTML登录页面而不是JSON编码列表的success回调。 这就是它发生的地方。 它在这里由user_passes_test调用。 处理这个问题的最佳方法是什么? 这是我想到的一些事情: 1. success回调应检查响应,并通过任何方式查看它是否获得登录页面(检查内容类型是否为html,检查内容等)。 但这意味着我们必须使用回调包装器包装所有AJAX调用,如下所示: $.ajax({ url: “/list_items/” + pageNumber + “/”, […]

Django框架中的Ajax Post?

我在django框架中组合了一个简单的ajax / jquerypost测试,但是不太明白为什么输出不能进入模板页面。 任何人? 我可以在firebug的“响应”选项卡中看到post的内容,但是我是否尝试返回模板或简单消息,浏览器本身没有任何反应。 相反,非ajaxpost按预期工作(加载新页面,发布消息) 我是ajax / jquery / django的新手,所以请原谅我的无知:) 最后,我希望能够通过jquery将任意非表单变量传递给django视图。 可能? 谢谢 :) 这是代码 – 的test.html: $(document).ready(function() { $(“#testForm”).submit(function(event){ event.preventDefault(); $.ajax({ type:”POST”, url:”/test_results/” }); }); return false; }); views.py: from django.shortcuts import render_to_response from django.http import HttpResponse def test_ajax(request): if request.is_ajax(): message = “Yes, AJAX!” else: message = “Not Ajax” return HttpResponse(message) #alternative […]

Backbone.js Collection和Tastypiefilter

我没有为我定义的Backbone集合检索整个记录表,而是认为使用我创建的美味馅饼filter效率更高。 我如何让Backbone使用它们? 据我所知,Backbone模型/集合仅指向模型的顶级URI。 例如,我有一个在Django中定义的Bookings模型,可以通过“/ api / booking”访问,但我想用“/ api / booking?room = 3”填充Backbone Collection,其中房间号是特定于上下文的。

如何在AJAX调用上重新呈现django模板代码

我有一个视图,它将分页对象(在查询集上)发送到模板,我在模板中进一步呈现为一个表。 我要做的是点击模板上的分页栏上的页码,它应该进行ajax调用以获取该页码的分页输出并动态更新表的内容。 视图: def accounts(request): #Including only necessary part accounts_list = Accounts.objects.all() paginator = Paginator(accounts_list, 25) page = request.GET.get(‘page’) try: accounts = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. accounts = paginator.page(1) except EmptyPage: # If page is out of range, deliver last page of results. accounts = paginator.page(paginator.num_pages) […]

管理大型项目中的JavaScript复杂性

我应该使用什么来管理我的应用程序中越来越多的JavaScript文件? 我们正在使用多个应用程序构建django应用程序。 每个应用程序具有不同的function,必须以三种不同的模式(PC,平板电脑,移动设备)呈现。 JavaScript中发生了很多事情:管理从服务器接收的数据,处理用户事件,注入HTML片段以及加载子组件。 一些function在应用程序和视图模式之间共享,但通常编写特定function是有意义的(例如,hover和单击事件可能必须在PC布局与平板电脑布局上以不同方式处理)因此我们正在分组这在基于app / layout / function的文件中。 在某种程度上,我们使用带有命名的平面文件结构来区分文件类型: ui.common.js ui.app1.pc.handlers.js ui.app1.pc.domManupulators.js ui.app1.tablet.js ui.app2.pc.js … 然而,现在,随着应用程序(和角落案例)数量的增长,这种方式正在迅速变得不可用(我们接近20多个文件,并且在我们完成时期望可能超过40个),所以我们将所有内容都放入这样的目录: js/ common/ core1.js ajax2.js app1/ tablet.js pc.js app2/ mobile.js … 我一直在寻找JavaScriptMVC来帮助解决这个问题。 虽然它确实提供了有用的工具,但似乎没有什么能够更好地管理我们的巨型JavaScript库。 我们很快扩展了我们的开发团队,代码可维护性非常重要。 有什么东西可以让我们的生活更轻松吗? 您在工作中使用的习惯/经验法则是否可以缓解这种情况?

没有表格的Django CSRF令牌

听起来很奇怪,但是使用Javascript(例如AJAX)发布内容而不使用表单的情况如何(可以从表面读取多个内容)。 我应该在哪里放置csrf_token模板标签? 我已经添加了AJAX修复程序: https : //docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax …但我得到“CSRFvalidation失败。请求中止。” 404错误。