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”的缘故,不过不太确定