Django ModelForm Modèle?
Je veux savoir comment puis-je ajouter un modèle à mon ModelForm que je suis novice. Ci-dessous vous pouvez voir mon models.py, url.py et views.py:
Mon model.py ressemble à ça:
from django.db import models
from django.forms import ModelForm
from django.contrib.auth.models import User
class Yazilar(models.Model):
yazi = models.CharField(max_length=200)
temsilci = models.ForeignKey(User)
class YaziForm(ModelForm):
class Meta:
model = Yazilar
Mon views.py la fonction ci-dessous:
@login_required
def yazi_ekle(request):
yazim = YaziForm
return render_to_response('yazi/save.html', {'YaziForm': YaziForm})
Mon url.conf ressemble à ci-dessous:
(r'^yazi/save/$', 'tryout.yazi.views.yazi_ekle'),
Ma question est au sujet de la création d'un formulaire et qu'est-ce que que les formes paramètre "action"?
Retrait de tous les blocs de code (même colonne la plus à gauche) et quatre espaces et de laisser un interligne supplémentaire avant/après le bloc de code. Il sera d'une grande aide en nous d'être en mesure de lire votre code et vous aider.
OriginalL'auteur dr.linux | 2010-02-17
Vous devez vous connecter pour publier un commentaire.
Il me semble que votre problème est dans la vue, vous devriez être en train de faire quelque chose comme ceci:
Maintenant, vous avez une variable nommée YaziForm dans votre modèle de contexte. Django formes autorender à un tas de lignes de la table avec les widgets par défaut, si dans votre fichier yazi/save.html, cela
Qui rendra votre formulaire automatiquement un tableau, si vous devez ajouter de la logique de la forme en vertu de l'après.
OriginalL'auteur Jj.
Vous pouvez en effet utiliser
<form action="">
depuis l'url que vous voulez publier est la même que la page que vous êtes sur.Si vous n'avez pas comme ça, alors tant que vous avez 'django.de base.context_processors.demande' dans votre TEMPLATE_CONTEXT_PROCESSORS dans settings.py je pense que vous pourriez aussi le faire:
Comme toujours, voir la doc 🙂
http://docs.djangoproject.com/en/1.1/ref/request-response/#django.http.HttpRequest.path
MODIFIER
Dans le cas où, au cours de l'année depuis que cette question a été posté, l'affiche n'a pas encore essayé de lire le ModelForm docs... http://docs.djangoproject.com/en/1.2/topics/forms/modelforms/
Oui, le point de vue est erroné, vous devez instancier la forme. Vous voulez aussi un peu de logique pour gérer les données post. Si c'est une modification de la vue vous avez sans doute aussi la vue de prendre une id de l'élément dans la vue args et à une certaine logique de charger cette instance du modèle.
par exemple:
puis dans votre urls.py quelque chose comme:
et dans le modèle:
"Ma question est au sujet de la création d'un formulaire et qu'est-ce que que les formes paramètre "action"?" ...la question spécifiquement demandé à propos de ce que l'action du formulaire doit être
OriginalL'auteur Anentropic