J'ai créé un service web avec Django. Il était terminé, mais j'ai vérifié à nouveau où il était pelucheux.
Exemple:
views.py
class ThreadView(ModelFormMixin, generic.DetailView):
model = Group
form_class = CommentCreateForm
def form_valid(self, form):
group_pk = self.kwargs['pk']
comment = form.save(commit=False)
comment.create_user = self.request.user
comment.post = get_object_or_404(Group, pk=group_pk)
comment.save()
return redirect('<nom de l'application>:group_thread', pk=group_pk)
def post(self, request, *args, **kwargs):
form = self.get_form()
if form.is_valid():
return self.form_valid(form)
else:
self.object = self.get_object()
return self.form_invalid(form)
form.save(commit=False) Renvoie une instance de l'objet Model associé au formulaire. Ne vous inscrivez pas dans DB
J'ai utilisé le rendu, mais je l'ai utilisé correctement
HttpResponse Remettez une chaîne ou un itérateur (et il est officiellement écrit, mais je ne l'ai pas utilisé, donc je ne peux pas vraiment l'imaginer.)
render La méthode render prend essentiellement trois arguments: request, template_name et context. demande: obtenir ou publier nom_modèle: fichier html contexte: informations sur les données stockées dans la base de données Dans la description du document officiel, "Chargez le modèle, remplissez le contexte et renvoyez le résultat du rendu du modèle dans un objet HttpResponse"
redirect Supprimer les données renvoyées par POST et passer à une autre vue
Recommended Posts