Question

Actuellement, j'écris un peu un CMS basé sur des produits comme premier projet.

Voici ma question.Comment puis-je ajouter des données supplémentaires (produits) à mon modèle de produit ?

J'ai ajouté '/admin/products/add' à mon urls.py, mais je ne sais pas vraiment où aller à partir de là.Comment puis-je créer à la fois ma vue et mon modèle ?S'il vous plaît gardez à l'esprit que je ne connais pas vraiment grand-chose en Python et que je suis très nouveau sur Django.

Comment puis-je faire tout cela sans utiliser cette interface d'administration Django existante.

Était-ce utile?

La solution

Vous voudrez câbler votre URL au Django vue générique create_object, et transmettez-lui soit "model" (le modèle que vous souhaitez créer) soit "form_class" (un modèle personnalisé ModèleFormulaire classe).Il existe un certain nombre de d'autres arguments vous pouvez également passer pour remplacer les comportements par défaut.

Exemple de configuration d'URL pour le cas le plus simple :

from django.conf.urls.defaults import *
from django.views.generic.create_update import create_object

from my_products_app.models import Product

urlpatterns = patterns('',
    url(r'^admin/products/add/$', create_object, {'model': Product}))

Votre modèle obtiendra la variable contextuelle "form", qu'il vous suffit d'envelopper dans une balise <form> et d'ajouter un bouton de soumission.Le modèle de travail le plus simple (par défaut doit se trouver dans "my_products_app/product_form.html") :

<form action="." method="POST">
  {{ form }}
  <input type="submit" name="submit" value="add">
</form>

Notez que votre modèle Product doit avoir une méthode get_absolute_url, sinon vous devez transmettre le paramètre post_save_redirect à la vue.Sinon, il ne saura pas vers où rediriger après la sauvegarde.

Autres conseils

Suivez le tutoriel Django pour configurer la partie "admin" d'une application.Cela vous permettra de modifier votre base de données.

Configuration de l'administrateur Django

Alternativement, vous pouvez simplement vous connecter directement à la base de données à l’aide des outils standard quel que soit le type de base de données que vous utilisez.

Ce sujet est traité dans Tutoriels Django.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top