Tag: django forms

ajax页面加载后没有csrf标记

现在我进行了设置,以便在成功登录时登录div淡出并显示一个注销按钮。 我希望能够登出注销并转到我的注销function,只是重定向到原始登录页面,但由于某种原因(仅成功)ajax表单提交突然之后我收到403错误:失败原因:CSRF令牌丢失或不正确。 想知道问题是我没有正确传递CSRF令牌。 我已尝试过页面上的所有内容https://docs.djangoproject.com/en/1.6/ref/contrib/csrf/#ajax 这是我的代码: urls.py from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns(”, # Examples: # url(r’^$’, ‘reportgenerator.views.home’, name=’home’), # url(r’^blog/’, include(‘blog.urls’)), url(r’^admin/’, include(admin.site.urls)), url(r’^login/’, ‘reportgenerator.views.login’), url(r’^logout/’, ‘reportgenerator.views.logout’), ) views.py class LoginForm(forms.Form): username = forms.CharField(max_length=200) password = forms.CharField(max_length=200) def login(request): c = {} c.update(csrf(request)) if request.POST: form = […]

Jquery Ajax发布更新视图中的django会话

我从表单字段中发送值,以便将它们存储在django中的会话中。 我正在执行以下操作,但它不会在django中的POST中接收数据。 var eventID = $(‘#id_eventID’).val(); var start = $(‘#id_start’).val(); $(‘a’).click(function () { console.log(“Inside click”); $.post({ url: “/update_session/”, type: “POST”, data: {eventID: eventID, start: start}, success: function(response){}, complete: function(){}, error: function (xhr, textStatus, thrownError){ alert(“Error in ajax post”); } }); }); Add signal 我希望在点击上面的链接时执行此脚本,然后再打开一个新表单。 所以,当我回到原始页面(填写表格后)时,我希望能够检索将存储在会话中的所有数据(以我上面的方式)。 在我的view.py中,我有以下内容, def update_session(request): print request.POST if request.is_ajax(): try: request.session[‘eventID’] = […]

Django:使用forms.py更新现有模型中的单个字段

我需要允许用户编辑字段以使用时尚的模态窗口自定义字段的名称。 我一直在努力寻找AJAX的教程,但它有点过头了。 我的HTML: {% csrf_token %} Edit Parameter Name {{ custom_param_form|crispy }} Cancel Submit 要编辑的按钮和元素:  {{parameter.parameter_name_userdef}} AJAX: $(document).ready(function() { $(‘.submit_parameter’).click(function(el) { var parameter_name = $(“#id_parameter_name_userdef”).val(); var sensor_id = {{sensor.id}} $.post(“{% url ‘sensor’ sensor.id %}”, { csrfmiddlewaretoken: ‘{{csrf_token}}’ }, function(data) { location.reload(); }).done(); }); }); 表格: class CustomParameterForm(ModelForm): parameter_name_userdef = forms.CharField(max_length=100) class Meta: model = SensorParameter […]

使用JQUERY立即将选中的复选框值从一个复选框复制到另一个复选框

我对Jquery比较新,并且在最后一天左右一直在努力解决这个问题。 我想做一些看似简单的事情,但我无法解决这个问题。 我有两个相同的复选框,包含许多条目,最终用户可以在任一复选框中选择多个选项。 如果选中了checkboxa中的值,我希望它立即在checkboxb中选择相同的值。 我研究了很多解决方案,我尝试过以下方法: $(document).ready(function (){ $(“#id_checkboxa”).change(function() { $(‘#id_checkboxa input[type=”checkbox”]:checked’).each(function(){ $(‘#id_checkboxb input[type=”checkbox”]’).eq($(this).index()).prop(‘checked’,true); }); }); }); 我的HTML。 我正在使用Django模板和带有查询集的表单进行选择,这就是为什么我试图通过Jquery利用ID进行复选框操作。 Checkboxa: {{ form.checkboxa }} 我通过在SO上引用以下代码片段找到了上面的方法。 将一组复选框的复选检查状态复制到另一个字段集 上面会将我在checkboxa中选择的第一个值复制到checkboxb的顶部,但就是这样。 我怀疑我需要遍历索引或创建一个数组来尝试查找已检查的值,但不能完全解决。 我当然希望使用JQUERY ID方法来解决这个问题。 提前感谢任何想法。 经过实验,我已经…… $(document).ready(function (){ $(“#id_checkboxa”).change(function() { console.log(“Hello world!”); }); }); 我的控制台将展示你好的世界! 当我尝试做类似…… $(document).ready(function (){ $(“#id_checkboxa”).change(function() { console.log(“Hello world!”); let selectedValA = $(this).val(); let isAChecked = $(this).prop(“checked”); $(`#id_checkboxb[value=${selectedValA}]`).prop(“checked”, […]

如何将Django日期格式更改为dd / mm / yy?

在forms.py中: class DobForm(forms.ModelForm) dob = forms.DateField(widget=forms.TextInput(attrs={‘class’:’datepicker’}),required=True,input_formats=[‘%d/%m/%Y’,]) class Meta: model = Dob 在我的HTML中: $(function() {$(“.datepicker”).datepicker({ maxDate: ‘0’,dateFormat: ‘dd-mm-yy’ })}); 它在forms上的棘手错误:输入有效日期

重复jquery ui问题

我正在研究一个Django项目。 但我的问题在于JQuery。 我使用jquery.formset.js JQuery插件在inline_formsets,formset_factories中动态添加表单。 这非常好用。 它使用其他装饰标签(如div,span,img ..)复制第一行元素,并在表格底部添加新行。 因此,重复的行可以像原点一样出现。 我还在表单中使用了jquery ui(datepicker,autocomplete..etc) 。 复制复制一切,甚至是日期选择器和自动复制的附加htmls,因为插件试图不留下任何接口片段。 当克隆第一行时,克隆所有内容,甚至克隆事件。 因此,当我单击新出现的datepicker输入时,日历事件将在第一行的元素上运行。 我正试图找到决定。 这是我到目前为止的想法.. 将jquery ui(datepicker和autocomplete)声明为live ? 喜欢 $(“。dates”)。live(’…’,function(){$(this).datepicker();}) 但我不确定应该为此处理哪个事件。 我想这是不可能处理新创建或附加的元素。 把脚本放在行内? 就在元素之后 $( “#id_birthday_1”)日期选择器()。 这似乎是最好的主意,但重复已经复制了额外的元素/ htmls。 所以它会重新渲染元素。 我应该编辑js插件吗? 比如绑定所有jquery ui的事件声明,除了渲染,追加和样式。 那将是一个巨大的混乱。 我不想像这样陷入困境..每次如果我需要添加一个新的ui,我应该不断编辑那个js 每个想法都将不胜感激:)

带有许多输入的jQuery自动完成 – django-dynamic-formset

我正在使用jQuery自动完成function( http://jqueryui.com/autocomplete )和Django dynamic-formset( http://code.google.com/p/django-dynamic-formset/ )。 我的一个formset字段需要使用自动完成,所以我使用(简化)附加它: $(‘input[name$=select]’).autocomplete({source:’my_url/’, minLength: 3}); 我在文档就绪时调用它,它工作正常(从ajax获取数据)。 但是,如果我使用django-dynamic-formset添加新行并使用以下命令处理其“已添加”事件: function(row){ $(row).find(‘input[name$=select]’).autocomplete({source:’my_url/’, minLength: 3}); } 它不适用于新添加的行。 怎么了? 更新:尝试使用类 – 没有结果尝试使用on()/ live() – 没有结果尝试在添加新行后销毁自动完成 – 没有结果(它会销毁,但不会创建)。

获取django表单下拉列表选择中的其他数据

我有一个Action模型,它有一个外键,指定一个动作重新出现的频率: class Reoccurance(models.Model): label = models.CharField(“Label”, max_length=50, unique = True) days = models.IntegerField(“Days”) def __unicode__(self): return self.label class Meta: ordering = [‘days’] class Action(models.Model): name = models.CharField(“Action Name”, max_length=200, unique = True) complete = models.BooleanField(default=False, verbose_name=”Complete?”) reoccurance = models.ForeignKey(Reoccurance, blank=True, null=True, verbose_name=”Reoccurance”) 我正在制作一个模型动作,导致HTML代码重新出现(基于Reoccurance表存在的数据库值): ——— 2 Days 3 Days 5 Days 6 Days 1 Week 10 […]

如何使用Django模板语言的JQuery Datepicker

看了这个链接并找到了一些帮助,但我想知道如何为我的models.py中的DateField选择使用JQueryUI Datepicker小部件 models.py from django.db import models class EModel(models.Model): date = models.DateField(blank=False) forms.py from django import forms from models import EModel class EForm(forms.ModelForm): class Meta: model = EModel form.html – Django如何呈现我的表单。 不在管理页面中 Form {% csrf_token %} {{ form.date }} 我希望有一种方法可以让我的’date’模型字段呈现为JQueryUI Datepicker小部件,但我已经搜索过,发现无法链接这两个(在我的情况下)。 解 在我的forms.py中 from django import forms from models import EModel class EForm(forms.ModelForm): class Meta: […]

djangoforms和ajax

我正在尝试创建一个包含两个function部分的页面: 用户填写和提交多次的表单 每次用户提交表单时更新的图表 我正在使用django表单和jQuery ,我无法弄清楚设计是如何组合在一起的。 在提交表单时,应该发生以下两种情况之一:图表(并且只有图表)更新,或者如果存在表单validation错误,表单部分应该使用相应的错误消息进行更新。 所以实际上一个Ajax调用应该更新任一部分。 我只想更新相关的div (表单或图表)而不是包含其他div ,徽标和其他静态图形的整个页面。 其中一个挑战是,如果表单sumbission运行良好,我想返回一个更新图表的JSON对象,因为我正在使用第三方图表包,但是如果提交文件错误,则返回的内容应该是HTML回复更新的表格。 对于这种行为,django视图的正确模式是什么? 这个行为的正确javascript \ jQuery模式是什么? 如果这种方法不正确,那么另一种方法是什么呢?