Django-CSRF验证失败--从静态网站的表单中发送数据到我的django应用中
我的设置: 静态网站作为通过AWS S3提供的着陆页 (Welcome.mydomain.com). django应用程序(带Python 2.7的Django-1.8) 可通过子域(app.mydomain.com)访问. 我想添加一个静态网站一部分的联系表格,并将联系表格信息发送到我的Django服务器进行处理. 我不想将联系表作为模板添加到我的Django应用程序中,因为我使用不同的样式表和资源,并且不想在服务器之间混合它们. 处理表单数据的视图只是将此数据添加到电子邮件中,并将其发送到内部电子邮件地址. 我获得了403 CSRF验证失败错误,因为该表单不包括CSRF令牌. 我现在可以免除从CSRF验证中收到请求的视图,但我不确定这会带来哪些安全风险. 我不确定我是否不了解CSRF攻击和危险,还是我以错误的方式看待这个问题.到目前为止 这是我的问题: 有更好的方法解决这个问题吗? 我可以在不添加任何安全风险的情况下使用CSRF_EXEMPT
4 2024-01-25
编程技术问答社区
从django直接上传至S3
我真的被困在这里. 我希望能够从Django表单直接上传到S3. 这将用于保存显示图片. 我遵循以下操作:,但不幸的是我被添加 DEFAULT_FILE_STORAGE = 'storages.backends.s3.S3Storage' 出于某种原因到settings.py. Django甚至都不认识我所做的变化. (我将其更改为default_file_storage ='asdsfsdfsdf',甚至没有给出错误. 有趣的是,我什至不知道Django-storages是否具有我要寻找的功能. 解决方案 这是我曾经写过的一个工作示例,django-s3upload./p> 其他解决方案 这并不难.这些步骤是生成策略文档,签名,然后使用该签名将文件发布到S3.我写了一个叫做SBIT3的小应用程序.在这里看看:class PostHandler(tornado.web.RequestHandler): def _generate_policy_doc(s
0 2024-01-25
编程技术问答社区
在Ajax运行后重复的元素
我正在尝试使用Ajax和jQuery自动完成表单字段. 首先,我使用了django和views.py函数是: def CreateWellMon(request): if request.method == 'POST': form = SurveillanceDesPuits_F(request.POST or None) if form.is_valid(): form.instance.author = request.user form.save() return redirect('WellMonitor') else: try: PUITS_id = request.GET.get('PUITS') record = SurveillanceDesPuits.objects.filter(
2 2024-01-21
编程技术问答社区
Django Ajax-Jquery不能获取数据
我无法通过jquery-ajax方法从表单中获取输入文本字段数据. 我不断获得的错误是"NetworkError: 403 FORBIDDEN - http://127.0.0.1:8000/dashboard". 我知道如何使用hidden字段类型获取数据,但是在这里无法使用该选项,此外,从hidden字段中获取数据现在是一种过时的方法.因此,如何使用django-ajaxjquery方法获取数据. html {% csrf_token %}
0 2024-01-21
编程技术问答社区
Django表单和Ajax
我正在尝试创建一个具有两个功能部分的页面: 用户填写和提交多次提交的表格 每次用户提交表单 时都会更新的图表 我正在使用 django forms 和 jquery ,我无法完全弄清楚该设计是如何拟合的. 在提交表单后,应发生两件事之一,要么图表(仅图表)更新,或者,如果存在表单验证错误,则表单部分应使用适当的错误消息进行更新.因此,实际上一个Ajax调用应该更新任何部分. 我只想更新相关的div,而不是包含其他div,徽标和其他静态图形的整个页面. 挑战之一是,如果表格表现顺利,我想返回一个更新图表的JSON对象,因为我使用的是第三方图表包,但是如果提交失败,则返回的内容应用更新的表格成为HTML响应. django视图的正确模式是什么? 此行为的正确Javascript \ jQuery模式是什么? 如果这种方法不正确,那么替代方法是什么? 解决方案 您需要JavaScript.例如,使用jQuery: $('form').submi
4 2024-01-21
编程技术问答社区
在bootstrap popup中的Django登录表单
使用django 1.5 + twitter bootstrap. 在每个页面上都有一个弹出式下拉登录表单. 具有正确的凭据良好效果良好的身份验证. 现在,我的问题 - 需要在同一页面上的错误凭据上添加错误消息,而无需重新加载.它可以是模态窗口,也可以是更好的,如果它只是同一弹出窗口中的文本. dunno如何做到这一点,而无需重定向/重新加载. 一些代码: Views.py: def LoginRequest(request): if request.user.is_authenticated(): return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid():
0 2024-01-21
编程技术问答社区
Django:注册时对有效/可用的用户名/电子邮件的ajax响应
我正在使用jQuery在用户注册期间进行一些内联​​表单验证,以防止在发布后检查是否以下方式发布形式错误,以查看是否: 用户名可用 尚未注册电子邮件 这个想法是在提交表格之前给用户反馈以防止挫败感.代码在底部. 问题: 这是潜在的安全问题吗?我以为有人看着我的JavaScript可以找到我正在投票的用户名/电子邮件确认的URL,然后自己使用它(我不知道他们为什么会这样做,但永远不知道). 如果是,我可以实施什么保护?我读过一些有关跨站点脚本保护的信息,但不确定如何在Ajax请求中实施,或者甚至是否有必要. 感谢您的输入. 当前代码: 我已经定义了以下视图(我从某个片段中拿走了,但不记得在哪里): def is_field_available(request): if request.method == "GET": get = request.GET.copy() if get.has_key('
0 2024-01-21
编程技术问答社区
Django Ajax ModelForm向request.POST提交一个空表单
在Django,Ajax和Jquery方面,我有点新手,所以如果我的问题变得琐碎,我会提前抱歉. 我已经抓了一段时间在这个问题上,但是我试图使用Ajax和Jquery通过JQuery UI提供的模态对话框窗口提交Django Modelform表单.我遇到的问题是,似乎表单数据没有传递到请求中,或者我的views.py文件中我的表单对象是在解析reqest.post对象时遇到的问题.无论何时我提交表单,form.is_valid()都会失败并查看表单错误,我会为表单的每个输入所需的"需要此字段".因此,不确定我在做什么错,所讨论的表格在我试图与Ajax ime ime ime之前起作用. 这是我的代码,也许更调味的眼睛可以看到我错过的东西. forms.py from django.forms import ModelForm from artists.views import Artist class RegistrationForm(ModelForm):
0 2024-01-21
编程技术问答社区
在Django中为AJAX请求返回表单错误
我一直在寻找Django和jQuery.我已经在Django建立了基本形式.单击提交时,我正在使用jQuery向Sever提出AJAX请求以发布我的数据.这个位似乎很好,我设法保存了数据.当表单无效时,Django将返回验证.谁能告诉我如何返回此错误消息作为对我的Ajax请求的响应,以便我可以轻松地使用JS迭代并执行任何操作? 我找到了 this snippet.查看JS位(ProcessJson),您会发现他似乎通过从响应HTML中提取错误消息来获取错误消息.对我来说似乎有点克鲁迪.这是最好的方法吗? 我对任何模糊性表示歉意. 预先感谢. 解决方案 哇,自从我看到这个线程以来已经一年了.好吧,随着Django 1.3的出现和神奇的,无证件的基于班级的视图,它变得更加容易在Django的视图相关功能方面变得更加容易.我的项目大量使用Django的基于类的通用CRUS视图需要AJAX和JSON功能.我添加了一个示例,说明如何修改Django的更新视图以支持AJAX
0 2024-01-21
编程技术问答社区
Django Ajax表单提交错误地重定向到另一个页面
当我使用Ajax在Django中提交评论表格时,该页面将重定向到空白页面显示成功数据: {"status":"success", "msg":"添加成功"} ,但不留在当前页面.我希望页面留在当前页面并向我展示新评论. 这是我的Update_comment视图: def update_comment(request, news_pk): news = get_object_or_404(News, id=news_pk) comment_form = CommentForm(request.POST or None) if request.method == 'POST' and comment_form.is_valid(): if not request.user.is_authenticated: return render(request, 'login.html', {}) c
2 2024-01-21
编程技术问答社区
Django 1.9检查电子邮件是否已经存在
我的网站已设置,因此没有用户名(或更确切地说是user.username = user.email).如果用户试图输入数据库中的用户名,则Django有一个错误消息,但是由于我没有使用用户名进行注册,所以我不知道该执行此操作. 就像默认设置一样,我不想重新加载页面以找出是否已经与用户关联了电子邮件地址.我的猜测是使用Ajax,但我不知道该怎么做.我看了其他帖子,但似乎没有什么. 我如何检查是否已经存在电子邮件地址,如果是,请给用户输入新电子邮件地址的错误消息? models.py: class MyUsers(models.Model): user = models.OneToOneField(User) first_name = models.CharField(max_length=100, blank=True) last_name = models.CharField(max_length=100, blank=True)
2 2024-01-20
编程技术问答社区
使用Ajax动态更新Django表单字段选项以获得新的查询集
我是编码和Django的新手,我正在努力找到解决以下问题的解决方案. IM创建一个带有多个字段的搜索表格.当用户选择第一个字段category(在击打搜索之前)时,我想动态更改第二个字段sub_category的QuerySet,以便仅显示相关值. 我的models.py如下: class Product(models.Model): category = models.ForeignKey("Category") sub_category = models.ForeignKey("SubCategory") class Category(models.Model): name = models.CharField(max_length=256) class SubCategory(models.Model): category = models.ForeignKey("Category") name = models.Cha
2 2024-01-20
编程技术问答社区
在使用ajax与django表单时,得到错误 "选择一个有效的选择。这不是可用的选择之一"。
我是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_choice
6 2024-01-20
编程技术问答社区
Django JQuery Ajax文件上传
我一直在尝试上传简单的文本文件数小时,但我似乎仍然无法正常工作. 我不断获得无效的表格,说我缺少" file_source". 为什么" file_source"没有发布? 我还可以实际发送" file_source",但仍然说它丢失了. django filefiled应该给出哪种类型的元素? django表格: class FileUploadForm(forms.Form): file_source = forms.FileField() django模板(渲染形式): {% csrf_token %} {{ form }}
0 2024-01-20
编程技术问答社区
用ajax提交Django表单
我有new_registration查看如下: def new_registration(request): context = {} if request.method == "POST": form = RegistrationForm(request.POST) if form.is_valid(): language = Language.objects.get(key="EN") country = Country.objects.get(key="BE") user = User() user.username = form.cleaned_data['email'] user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name
8 2024-01-18
编程技术问答社区
如何使用表单和视图保存django动态表单集数据
我正在尝试使用表单和视图来保存表单集的额外字段数据. 例如: - 团队有播放器编号.因此,我想通过单击添加更多按钮添加新播放器.我在下面尝试的代码.问题是,如果我一次添加多个玩家...它仅保存最后一个对象值 models.py from django.db import models class Player(models.Model): pname = models.CharField(max_length=50) hscore = models.IntegerField() age = models.IntegerField() def __str__(self): return self.pname class Team(models.Model): tname = models.CharField(max_length=100) player= models.ManyToManyField(Player)
6 2024-01-18
编程技术问答社区
ajax页面加载后没有csrf标记
现在,我已经进行了设置,因此当成功登录时,登录div逐渐淡出,并且会出现注销按钮.我希望能够点击注销,然后转到我的注销函数,该功能仅重定向到原始登录页面,但是出于某种原因(仅成功的)Ajax表单突然提交后,我遇到了403个错误:出于失败的原因:CSRF:CSRF令牌缺失或不正确. 想知道问题是否是我没有正确传递CSRF代币.我已经尝试了页面上的所有内容 https://docs.djangoproject. com/en/1.6/ref/conver/con/csrf/#ajax 这是我的代码: urls.py from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'reportgene
2 2024-01-18
编程技术问答社区
使用JQUERY将一个复选框的选定值立即复制到另一个复选框中
我对jQuery的新人相对较新,并且在最后一天左右一直在努力解决这个问题.我正在尝试做一些看似简单的事情,但我无法完全解决.我有两个相同的复选框,其中有许多条目,最终用户可以在任一复选框中选择多种选择.如果选择了复选框中的值,我希望它立即在复选框中选择相同的值.我研究了许多解决方案,但我尝试了以下内容: $(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); }); }); }); 我
4 2024-01-16
编程技术问答社区
多输入的jQuery自动完成-django-dynamic-formset
我正在使用jQuery自动完整功能( http://jqueryui.com/autocomplete ) 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}); } 它与新添加的行无法使用.怎么了? 更新: 试图使
0 2024-01-16
编程技术问答社区
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: f
0 2024-01-16
编程技术问答社区