在Django 1.5.7上填写表单的字段

时间:2014-09-03 00:00:58

标签: python django

我试图填写Django==1.5.7上的表单,atm我有以下代码:

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时,它会显示标签,但字段不会以某种方式激活,我只看到标签,无法填充它们并保存数据。

参考此图片:

Example

有什么想法吗?

它是CRUD的创建阶段,如果我能很好地解释自己,如果您需要更多代码,请告诉我。

提前致谢!

修改

我的模板usuario_fidetel.html代码:

{% 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 %}

0 个答案:

没有答案