Preferiría que mi campo de clave principal no estuviera visible en mi página de edición. Si lo hago un AutoField, no se representa en el formulario HTML. Pero el valor de la clave primaria tampoco está en mis datos POST. ¿Hay una manera simple de presentar AutoField como un campo oculto?Cómo ocultar un campo de clave principal en un formulario de Django
5
A
Respuesta
6
podría especificar su widget como un campo oculto
9
Si no tiene la intención de su usuario sea capaz de cambiar algo en un formulario, a continuación, en su lugar debe colocarlo en la URL o algún otro contexto. Te estás abriendo a problemas de seguridad (o al menos casos de uso extra) de lo contrario.
En el urls.py:
(r'^edit/?P<my_id>[\d]+)/$', views.edit),
y en view.py:
from django.shortcuts import render_to_response, get_object_or_404
from models import MyModel
def edit(request, my_id):
obj = get_object_or_404(MyModel, id=my_id)
if request.POST:
form = MyForm(request.POST, instance=obj)
if form.is_valid():
form.save()
#
# do other stuff....
#
else:
form = MyForm(instance=obj)
return render_to_response(template_name, {
"form": form
}, context_instance=RequestContext(request))
Cuestiones relacionadas
- 1. ¿Cómo excluyo un campo heredado en un formulario en Django?
- 2. Django admin, ocultar + signo más en campo de clave externa
- 3. Obtener clave principal después de guardar un ModelForm en Django
- 4. ¿Cómo probar un formulario con un campo captcha en django?
- 5. Cómo ocultar un campo en formato drupal
- 6. Django BigInteger autoincremento de campo como clave principal?
- 7. Formulario Django con solo un campo Boolean
- 8. ¿Cómo puedo ocultar una etiqueta django en un formulario django personalizado?
- 9. Django - Repetición de un campo de formulario n veces en un formulario
- 10. Django opciones de campo de formulario, añadiendo un atributo
- 11. ¿Debería tener un campo de clave principal dedicado?
- 12. Django: Personalizar un HTML de campo de formulario particular
- 13. Cómo configurar un controlador de eventos en un campo de entrada de formulario de Django
- 14. Restablecimiento de SQLite Campo de clave principal
- 15. Condicionalmente se requiere solo un campo en el formulario Django
- 16. Django + PostgreSQL: ¿Cómo restablecer la clave principal?
- 17. campo de formulario de Django requerido condicionalmente
- 18. Obtiene el campo de formulario de Django del campo modelo
- 19. ¿Cómo declarar un campo de formulario en Django, si tiene el mismo nombre que una palabra clave de Python?
- 20. ¿Cómo establecer un campo de encabezado en POST un formulario?
- 21. ¿Cómo editar un campo serializado de Rails en un formulario?
- 22. Django valor de matriz en un formulario
- 23. Django: Formset como campo de formulario
- 24. ¿Cómo obtener el ID del campo de formulario en Django?
- 25. campo de formulario Django usando SelectDateWidget
- 26. Cómo representar el campo de formulario django en la plantilla
- 27. Cómo sobrescribir un campo en la clase principal
- 28. Etiquetas para el campo de formulario de selección de Django
- 29. ¿Cómo paso un valor de un niño al formulario principal?
- 30. ¿Cómo obtener valor del campo de formulario en django framework?
Me gusta lo que has hecho aquí. ¿Tiene alguna idea sobre cómo ocultar varios campos en el formulario HTML representado? Tengo la sensación de que necesito cambiar a usar formssets (o dejar de usar ModelForms) para obtener la granularidad que quiero:/ – neoice
Bueno, si son todos valores que el usuario no puede cambiar, también pueden ir en la url: '(r '^ editar /? P [\ d] +) /? P [.] +/$', views.edit)'. De lo contrario, en ModelForms establece el widget de cada campo en HiddenInput (o establece el estilo de visualización del widget existente en 'none'.) –
¿Qué harías si el formulario está creando la instancia del modelo? –