我在使用带有Jquery / ajax POST的图像字段提交表单(Django-form)时遇到了一些问题。 我在图像域上找回“需要字段”validation错误.. 我一直尝试使用附加formData的不同解决方案但到目前为止没有结果。 我是在正确的轨道上吗? 请指出我正确的方向。 谢谢! 更新:我可以将imagefield设置为required = false并且不会得到validation错误,但我希望该字段是必需的,似乎表单仍然没有提交图像.. 基本function如下所示: $(function() { $(‘#imageupload’).on(‘click’, function() { $(‘#dialog-modal’).load(‘upload/ #myform’); $(‘#dialog-modal’).dialog({ height: 550, width: 280, modal: true, buttons: { Send: function() { var dialog = $(this), form = $(‘#myform’), data = form.serialize(); $(‘.off’).remove(); $.ajax({ url: ‘upload/’, data: data, type: ‘post’, success: function(response) { res = […]
我有一些表单,它在iframe中上传文件。 我想保留它的提交,直到我检查它是否与ajax有效。 我怎样才能做到这一点 ? 我的代码暂停提交并返回validation结果(当前只是一个返回’result’:’true’的虚函数)但是然后不执行’submit’操作。 在获得响应200状态后显示响应数据需要~2秒是否正常? 这是我的HTML: Submit {% render_upload_data upload_data %} {{ form }} JS: $(function() { $(‘#file_upload_submit’).click(function(e){ e.preventDefault(); var fileUploadForm = document.getElementById(‘file_upload_form’); $.ajax({ type: “POST”, url: ‘/artifact/upload/check-form/’, data: ‘foo=bar’, dataType: “json”, success: function(data){ if(data[‘result’] == “true”){ $(“#message”).show(); $(“#message”).fadeIn(400).html(”+data[“message”]+”); setTimeout(function(){ $(“#message”).fadeOut(“slow”, function () { $(“#message”).hide(); }); }, 1500); $(‘#file_upload_form’).attr(‘target’,’upload_target’).submit(function(){ alert(‘Handler for .submit() called.’); return […]
我正在开发一个Django项目,该项目使用JQgrid显示数据库中的数据。 我想要实现的是只有搜索选项连接到执行远程搜索,其中服务器将返回结果集,并且每个其他jqgrid选项(如列排序,分页等)将在客户端执行。 我知道这可以通过设置loadonce:true并根据loadonce:true .click()事件在’local’和’json’之间切换’datatype’参数来完成,具体取决于我是单击sort还是next-page,search等。 还有另一种方法吗? 如果没有,你们可以建议一个干净的方式来做上述黑客攻击。 谢谢!
我知道这个问题有很多答案,但我是Django的新手,我不知道如何实现这些解决方案。 首先我想做什么。 这是我的模特: class Region(models.Model): name = models.CharField(max_length=255, verbose_name=_(“Name”)) slug = models.SlugField(max_length=150, unique=True, null=True) def save(self,*args, **kwargs): if not self.slug: self.slug = slugify(self.name) super(Region,self).save(*args,**kwargs) def __unicode__(self): return u’%s’ % (self.name) class Meta: verbose_name = _(‘Region’) verbose_name_plural = _(‘Regions’) class District(models.Model): name = models.CharField(max_length=255, verbose_name=_(“Name”)) slug = models.SlugField(max_length=150, unique=True, null=True) region = models.ForeignKey(Region,verbose_name=_(“Region”)) def save(self, *args, […]
我想在我的django应用程序中使用bootstrap-datepicker( https://bootstrap-datepicker.readthedocs.org )。 我使用Django 1.7。 在index.html文件中我有: $(document).ready(function(){ $(‘.datepicker’).datepicker(); }); 在我的forms.py中,我有: class Filter(django_filters.FilterSet): class Meta: model = MyModel fields = [‘user’, ‘date_from’, ‘date_to’] widgets = {‘date’: forms.DateInput(attrs={‘class’:’datepicker’})} 我的model.py用于设置日期: date_from = models.DateField() date_to = models.DateField() 当我浏览带有日期的页面时 – 在输入区域中不起作用。
在我的一个django项目中,我使用了大量的自定义jquery脚本和大量的开源jquery插件。 现在,如果我在我的基本模板中加载所有jquery脚本,我将在模板中加载大量未使用的javascript代码,这些代码不需要任何/一些已加载的jquery文件,这将影响页面加载时间特别的模板。 所以,我目前采取的方法是 在基本模板中加载基本jquery脚本(每个模板所需的脚本) 在基本模板中为js定义一个块,并为每个模板选择性地加载所需的javascripts.eg {% block selective_js %}{% endblock selective_js %} 上面的方法效果很好,但我看到的唯一问题是模板中有很多代码重复。 比如说: 我有以下javascript文件 现在在多个模板中,我需要包含上面提到的所有javascript文件,并且还想要初始化所提到的脚本中的一些方法。 所以目前,我必须在所有模板中执行此操作: {% block selective_js %} $(document).ready(function() { $(‘some_element’).initializeScript(); }); {% endblock selective_js %} 这意味着模板中有很多代码重复。 题: 如何在不必以有效方式加载未使用的javascript代码的情况下防止重复代码?
我是django的新手。 我正在使用简单的ajax在课程选择的基础上动态更新选择字段学期 。 但在提交表单时我收到错误选择一个有效的选择。 选择的选项不是可用选项之一。 代码如下: forms.py: from django import forms from feedback_form.models import course,section_info class loginForm(forms.Form): iquery1 = course.objects.values_list(‘course_name’, flat = True) iquery1_choices = [(”, ‘———-‘)] + [(id, id) for id in iquery1] sem_choices = [(”, ‘———-‘)] course_name = forms.ChoiceField(iquery1_choices,required=True, widget=forms.Select()) semester = forms.ChoiceField(sem_choices, required= True, widget=forms.Select()) views.py: def get_batch(request, c_id): current_course = feedback_form.models.course.objects.get(course_name=c_id) […]
我想在Django中刷新包含温度数据的div标签。 每20秒获取一次数据。 到目前为止,我已使用以下function实现了这一目 function refresh() { $.ajax({ url: ‘{% url monitor-test %}’, success: function(data) { $(‘#test’).html(data); } }); }; $(function(){ refresh(); var int = setInterval(“refresh()”, 10000); }); 这是我的urls.py: urlpatterns += patterns(‘toolbox.monitor.views’, url(r’^monitor-test/$’, ‘temperature’, name=”monitor-test”), url(r’^monitor/$’, ‘test’, name=”monitor”), ) views.py: def temperature(request): temperature_dict = {} for filter_device in TemperatureDevices.objects.all(): get_objects = TemperatureData.objects.filter(Device=filter_device) current_object = get_objects.latest(‘Date’) current_data […]
我使用Django的内置DeleteView,并为success_url属性赋值。 现在在我的模板中,我通过JQuery’$ .post()方法触发此视图。 删除该项目时,我不会被重定向到success_url 。 经过一些搜索,我发现它似乎是AJAX post方法的一个问题,它忽略了重定向。 我通过添加一个函数来修复它,将window.location=”#myRedirectionURL”为JQuery中$.post()的第三个参数。 但是,这种方式似乎不是很Django。 从本质上讲,它解决了AJAX方面的问题,而不是Django。 更重要的是,它使DeleteView中的success_url无用(但你仍然需要为success_url赋值,否则Django会引发错误)。 当你通过AJAX发布时,它是正确的重定向方式吗? 有没有更好的方法呢? 非常感谢。
$.ajax({ url:’/’, type: “POST”, data: {name: ‘name’, age: ‘age’}, success:function(response){}, complete:function(){}, error:function (xhr, textStatus, thrownError){} }); 在views.py中: class SomeView(generic_views.TemplateView): template_name = ‘something.html’ def get(self, request, *args, **kwargs): …something… return self.render_to_response(context) def post(self, request, *args, **kwargs): name = request.POST[‘name’] age = request.POST[‘age’] …something… 我得到: [05 / Oct / 2012 12:03:58]“POST / something / HTTP / 1.1”403 […]