Python 在Django 1.5.7中填写表单的字段
我正试图填写一份关于Python 在Django 1.5.7中填写表单的字段,python,django,Python,Django,我正试图填写一份关于Django==1.5.7的表格,我有以下代码: models.py: class UsuarioFidetel(models.Model): """ Modelo de usuario fidetel """ usuario = models.CharField(max_length=30) id_usuario = models.IntegerField() nombre = models.CharField(max_length=255, null=True) ape
Django==1.5.7
的表格,我有以下代码:
models.py:
class UsuarioFidetel(models.Model):
"""
Modelo de usuario fidetel
"""
usuario = models.CharField(max_length=30)
id_usuario = models.IntegerField()
nombre = models.CharField(max_length=255, null=True)
apellido = models.CharField(max_length=255, null=True)
tipo_cedula = models.CharField(max_length=1, null=True)
cedula = models.CharField(max_length=9, null=True)
fecha_nacimiento = models.DateField(null=True, blank=True)
sexo = models.CharField(max_length=1, null=True)
correo = models.EmailField(max_length=254, null=True)
estado_civil = models.CharField(max_length=1, null=True)
def __unicode__(self):
return unicode(self.id_usuario)
views.py:
def crear_usuario_fidetel(request):
"""
Muestra el formulario que permite ingresar los datos del usuario de
fidetel cuando aún no han sido creados
@return: El formulario que permite ingresar los datos del usuario de
fidetel.
"""
usuario_fidetel = request.session['usuario_fidetel']
if(usuario_fidetel.id_usuario):
usuario_fidetel = UsuarioFidetel.objects.get(id_usuario=usuario_fidetel.id_usuario)
#usuario_fidetel = UsuarioFidetel.objects.get(id_usuario=usuario_fidetel['id'])
return render_to_response('fidetel/usuario_fidetel.html',
{ },
context_instance=RequestContext(request))
usuario_fidetel_form = FormularioUsuarioFidetel(instance=usuario_fidetel)
return render_to_response('fidetel/usuario_fidetel.html',
{ 'form': usuario_fidetel_form },
context_instance=RequestContext(request))
@autenticacion_fidetel_requerida
@permiso_requerido([PERMISOS_FONDO['CREAR_USUARIO_FIDETEL'],
PERMISOS_FONDO['MODIFICAR_USUARIO_FIDETEL']])
@transaction.commit_on_success
现在,我的问题是,如何让这些模型字段在我的模板视图中“为空”,以便我用数据填充它们(即向数据库添加用户)
目前,当我访问usuario_fidetel.html
时,它会向我显示标签,但字段并没有以某种方式激活,我只看到标签,无法填充它们和保存数据
请参阅此图:
有什么想法吗
这是CRUD的创建阶段,idk如果我解释得很好,如果你需要更多的代码,请告诉我
提前谢谢
编辑
我的模板usuario\u fidetel.html
code:
{% extends "fidetel/base.html" %}
{% block titulo %}::: AUTANA ::: Fidetel{% endblock %}
{% block panel_operaciones_crud %}
<a class="guardar" href="javascript:" onclick="$('#form_usuario_fidetel').submit();"> </a>
{% endblock %}
{% block titulo_seccion %}<img src="{{ MEDIA_URL }}imagenes/tUsuarioFIDETEL.png" width="300" height="50" />{% endblock %}
{% block area_trabajo %}
<script>
$(document).ready(function (){
$("#form_usuario_fidetel").validate({
onkeyup: false,
rules: {
nombre: "required",
apellido: "required",
correo: {
required: true,
email: true
},
tipo_cedula: "required",
cedula: {
required: true,
digits: true
},
sexo: "required",
estado_civil: "required",
fecha_nacimiento: {
required: true,
dateVE: true,
dateBeforeToday: true
},
},
groups: {
CedulaUsuario: "tipo_cedula cedula",
},
errorPlacement: function(error, element) {
if (element.attr("name") == "tipo_cedula" || element.attr("name") == "cedula")
UTIL.insertarError(error, 'id_cedula');
else
UTIL.insertarErrorElemento(error, element);
},
messages: {
nombre: "Este campo es obligatorio",
apellido: "Este campo es obligatorio",
correo: {
required: "Este campo es obligatorio",
email: "Debe ser un correo electrónico válido"
},
tipo_cedula: "Este campo es obligatorio",
cedula: {
required: "Este campo es obligatorio",
digits: "Este campo es numérico"
},
sexo: "Este campo es obligatorio",
estado_civil: "Este campo es obligatorio",
fecha_nacimiento: {
required: "Este campo es obligatorio",
dateVE: "La fecha no es válida",
dateBeforeToday: "Debe ser anterior a la fecha actual"
},
}
});
$.datepicker.setDefaults($.datepicker.regional['es']);
$('#id_fecha_nacimiento').datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd/mm/yy",
maxDate: 0,
yearRange: "c-100:c",
onSelect: function( selectedDate ) {
$("#form_usuario_fidetel").validate().element( "#id_fecha_nacimiento" );
}
});
});
</script>
<div class="WrapBackground" style="background-image:url({{ MEDIA_URL }}imagenes/bgUsuario.png);"> </div>
<div class="WrapContenido">
{% if mensaje_error %}
<div class="msjerror">{{ mensaje_error }}</div>
{% endif %}
{% if form.errors %}
<div class="msjerror">
No se pudieron guardar los datos del usuario debido a los siguientes errores:<br/>
<ul>
{% for field in form %}
{% if field.errors %}<li>{{ field.errors|striptags }}</li>{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
<form id="form_usuario_fidetel" action="{% url 'guardar_usuario_fidetel' %}" method="post">
{% csrf_token %}
<div class="principal">
<div class="pIzq">*Nombre:</div>
<div class="pDer">
<label>
{{ form.nombre }}
</label>
</div>
</div>
<div class="principal">
<div class="pIzq">*Apellido:</div>
<div class="pDer">
<label>
{{ form.apellido }}
</label>
</div>
</div>
<div class="principal">
<div class="pIzq">*Cédula:</div>
<div class="pDer">
{{ form.tipo_cedula }}
{{ form.cedula }}
</div>
</div>
<div class="principal">
<div class="pIzq">*Correo Electrónico:</div>
<div class="pDer">
<label>
{{ form.correo }}
</label>
</div>
</div>
<div class="principal">
<div class="pIzq">*Fecha de Nacimiento:</div>
<div class="pDer">
<label>
{{ form.fecha_nacimiento }}
</label>
</div>
</div>
<div class="principal">
<div class="pIzq">*Sexo:</div>
<div class="pDer">
<label>
{{ form.sexo }}
</label>
</div>
</div>
<div class="principal">
<div class="pIzq">*Estado Civil:</div>
<div class="pDer">
<label>
{{ form.estado_civil }}
</label>
</div>
</div>
<div class="principal">
<div class="pDer">
<span class="obligatorio1">(*) Datos obligatorios</span>
</div>
</div>
</form>
<div class="separadorv"> </div>
</div>
{% endblock %}
{%extensed“fidetel/base.html”%}
{%block titulo%}:::AUTANA:::Fidetel{%endblock%}
{%block panel_operaciones_crud%}
{%endblock%}
{%block titulo_seccion%}{%endblock%}
{%block area_trabajo%}
$(文档).ready(函数(){
$(“#表单_usuario _fidetel”)。验证({
onkeyup:false,
规则:{
名称:“必需”,
阿佩利多:“必选”,
科雷奥:{
要求:正确,
电子邮件:真的
},
tipo_cedula:“必需”,
塞杜拉:{
要求:正确,
数字:真
},
sexo:“必选”,
estado_civil:“必需”,
fecha_Naciminto:{
要求:正确,
达特夫:是的,
今天之前的日期:对
},
},
小组:{
CedulaUsuario:“tipo_cedula cedula cedula”,
},
errorPlacement:函数(错误,元素){
if(element.attr(“name”)=“tipo_cedula”| | element.attr(“name”)=“cedula”)
UTIL.insertarError(错误'id_cedula');
其他的
UTIL.insertarErrorElemento(错误,元素);
},
信息:{
名称:“Este campo es obligatorio”,
阿佩利多:“Este campo es obligatio”,
科雷奥:{
必填:“Este campo es obligatio”,
电子邮件:“Debe ser un correo Electroónico válido”
},
tipo_cedula:“Este campo es obligatorio”,
塞杜拉:{
必填:“Este campo es obligatio”,
数字:“Este campo es numérico”
},
sexo:“Este campo es obligatorio”,
estado_civil:“Este campo es obligatorio”,
fecha_Naciminto:{
必填:“Este campo es obligatio”,
dateVE:“我不喜欢瓦利达”,
今天之前的日期:“Debe ser anterior a la fecha actual”
},
}
});
$.datepicker.setDefaults($.datepicker.regional['es']);
$('id#fecha_nacimiento')。日期选择器({
变化月:对,
变化年:是的,
日期格式:“日/月/年”,
maxDate:0,
年份范围:“c-100:c”,
onSelect:函数(selectedDate){
$(“#form_usuario_fidetel”).validate().element(“#id_fecha_nacimiento”);
}
});
});
{%if mensaje_error%}
{{mensaje_error}}
{%endif%}
{%if form.errors%}
不存在任何明显错误:
{%形式的字段为%}
{%if-field.errors%}- {{field.errors | striptags}}
{%endif%}
{%endfor%}
{%endif%}
{%csrf_令牌%}
*名义:
{{form.nombre}}
*阿佩利多:
{{form.apellido}
*塞杜拉:
{{form.tipo_cedula}}
{{form.cedula}}
*Correo Electroónico:
{{form.correo}}
*Fecha de Naciminto:
{form.fecha_nacimiento}
*性别:
{{form.sexo}}
*Estado Civil:
{{form.estado_civil}}
(*)义务书
{%endblock%}
你的html是什么样子的?它有点长,所以我把它贴在这里:谢谢。模板代码也添加到了帖子中,谢谢。你为什么不使用form.as\p之类的东西呢?我想这是因为“request.session”的缘故,不过不太确定