Python djangoajax——当我用ajax发送表单时,为空request.FILE,Django
我正在使用Django 1.5.2、jQuery v1.9.0和POSTGRESQL 9.1 我正在使用ajax发送表单,但requst.FILE为空,imgen未发送 这是我的档案 Models.pyPython djangoajax——当我用ajax发送表单时,为空request.FILE,Django,python,ajax,django,forms,Python,Ajax,Django,Forms,我正在使用Django 1.5.2、jQuery v1.9.0和POSTGRESQL 9.1 我正在使用ajax发送表单,但requst.FILE为空,imgen未发送 这是我的档案 Models.py class Evento(models.Model): nombre = models.CharField(max_length=16) def __unicode__(self): return self.nombre class Im
class Evento(models.Model):
nombre = models.CharField(max_length=16)
def __unicode__(self):
return self.nombre
class Imagen(models.Model):
def url(self,filename):
ruta = "MultimediaData/Evento/%s/%s"%(self.evento.id,str(filename))
return ruta
evento = models.ForeignKey(Evento)
photo = models.ImageField(upload_to=url)
def __unicode__(self):
return str(self.photo)
乌拉尔·皮伊
urlpatterns = patterns('CasadeAna.apps.home.views',
url(r'^addevento/$','addevent_view',name='event_add'),
url(r'^editevento/(?P<idevento>.*)/$','editevent_view',name='event_edit'),
)
HTML
形式
imagenform.html
<form id="formulario" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{form.as_p}}
<button type="submit"class="btn btn-primary" onClick="enviar(this);">Guardar</button>
<button type="reset" class="btn btn-primary">Limpiar</button>
</form>
{%csrf_令牌%}
{{form.as_p}}
瓜达尔
林皮亚
editEvent.html
{% extends 'base.html' %}
{% block menu %}
{% endblock %}
{% block content %}
<div style="height:100%;" align="left" >
<h1 class="muted"> Editar Imagenes </h1>
<h2>{{evento.nombre}}</h2>
<div id="imagenes">
<div id="menu" >
<button class="btn" onClick="subirImagen(this);">Agregar Imagen <i class="icon-plus"></i></button>
<div>
<div id="contenedor">
<ul class="thumbnails">
{% if imagen %}
{% for i in imagen %}
<li class="span4">
<img data-src="{{i.photo}}" alt="">
</li>
{% endfor %}
{% endif %}
</ul>
</div>
</div>
</div>
{% endblock %}
{% block js %}
<script type="text/javascript">
//pedir formulario para subir una imagen
function subirImagen(e)
{
$.ajax({
url: '/editevento/14/',
type: 'GET',
dataType: 'html',
success: function(datos){
$('#contenedor').empty();
$('#contenedor').append(datos);
}
});
}
function enviar(e)
{
$('#formulario').submit(function(evento){
evento.preventDefault();
var datos_formulario = $(this).serialize();
alert('event444os');
$.ajax({
url: '/editevento/14/',
data: datos_formulario,
type: 'POST',
dataType: 'html',
processData:false,
cache:false,
success: function(datos){
$('#contenedor').empty();
$('#contenedor').append(datos);
}
});
});
}
</script>
{% endblock %}
{%extends'base.html%}
{%块菜单%}
{%endblock%}
{%block content%}
编辑图像
{{evento.nombre}}
阿格雷加成像
{%if imagen%}
{imagen%中的i的%s}
-
{%endfor%}
{%endif%}
{%endblock%}
{%block js%}
//足部公式
函数子图像(e)
{
$.ajax({
url:“/editevento/14/”,
键入:“GET”,
数据类型:“html”,
成功:功能(datos){
$('#contendor').empty();
$('#contendor')。附加(datos);
}
});
}
功能环境(e)
{
$('#formulario')。提交(函数(evento){
evento.preventDefault();
var datos_formulario=$(this).serialize();
警报(“event444os”);
$.ajax({
url:“/editevento/14/”,
数据:datos_formulario,
键入:“POST”,
数据类型:“html”,
processData:false,
cache:false,
成功:功能(datos){
$('#contendor').empty();
$('#contendor')。附加(datos);
}
});
});
}
{%endblock%}
提交表单请求。post值和文件为
请寄
请求文件
求求你,救命 您不能像这样发布文件。看看这个问题:或者这个问题:你能更具体地解释一下吗?链接是有帮助的,但更有用的是解释为什么你不能发布像“this”这样的文件,不管“this”是什么。
{% extends 'base.html' %}
{% block menu %}
{% endblock %}
{% block content %}
<div style="height:100%;" align="left" >
<h1 class="muted"> Editar Imagenes </h1>
<h2>{{evento.nombre}}</h2>
<div id="imagenes">
<div id="menu" >
<button class="btn" onClick="subirImagen(this);">Agregar Imagen <i class="icon-plus"></i></button>
<div>
<div id="contenedor">
<ul class="thumbnails">
{% if imagen %}
{% for i in imagen %}
<li class="span4">
<img data-src="{{i.photo}}" alt="">
</li>
{% endfor %}
{% endif %}
</ul>
</div>
</div>
</div>
{% endblock %}
{% block js %}
<script type="text/javascript">
//pedir formulario para subir una imagen
function subirImagen(e)
{
$.ajax({
url: '/editevento/14/',
type: 'GET',
dataType: 'html',
success: function(datos){
$('#contenedor').empty();
$('#contenedor').append(datos);
}
});
}
function enviar(e)
{
$('#formulario').submit(function(evento){
evento.preventDefault();
var datos_formulario = $(this).serialize();
alert('event444os');
$.ajax({
url: '/editevento/14/',
data: datos_formulario,
type: 'POST',
dataType: 'html',
processData:false,
cache:false,
success: function(datos){
$('#contenedor').empty();
$('#contenedor').append(datos);
}
});
});
}
</script>
{% endblock %}