J'ai créé une petite application qui tourne sur le terminal ( pour apprendre les BDD entre autres ) .
Et maintenant, je souhaite passer au HTML: je voudrais cette application sur un site.
J'utilise Django comme Framework.
J'apprends doucement , mais j'ai un problème d'organisation pour les tables:
Sur mon l'application originale j'avais une classe par table !
Et bien sûr des méthodes de classe pour chaque classe...
Je pourrais NAÏVEMENT recopier tout les classes et méthodes dans models.py ( avec des modifications évidemment) , mais je pense que ce n'est pas la bonne méthode: j'aurais un fichier énorme !!!
Je vais détailler pour mieux faire comprendre.
Sur le terminal l'application demandait:
- rentrer des données (mon ticket de caisse avec les prix, poids et nom de tous les produits que j'ai acheté)
- continuer de renseigner des données ( au cas ou je n'aurais pas pu tout rentrer certains tickets, je peux reprendre là ou j'en étais )
- explorer des données ( pas fait, mais donne des graphiques en tout genre, panier moyen, jours de courses, etc...)
- quitter l'application
À présent sur une page HTML j'ai la même chose, mais dans Django:
mes views : - home ( qui ressort la liste ci-dessus en liens )
- start_purchase (rentrer des données): affiche la page d'un formulaire pour rentrer mon ticket
- purchase_in_course (continuer de rentrer le tickets que je n'ai pas eu le temps de rentrer): affiche une page avec la liste des tickets non
terminés
- explore_datas ( affiche une page ou je peux faire des recherches sur des données choisies )
- quit
J'ai mon home qui affiche bien la liste, chaque autre view affiche un text pour me dire sur quelle page je suis ( je n'ai pas encore développé plus que ça ) et j'ai créé mes tables dans models ( avec postgresql) . j'ai vérifié, elles sont bien crées et comme il faut !!
Dois-je découper ( plusieurs apps ) ou bien est-ce que je peux m'en sortir avec mes views ( que je vais développer ) et mes modèles ??
tant qu'à faire voici le code (minimal pour l'instant), les views:
from django.shortcuts import render
def home(request):
list_first_menu = {"voir les achats en cours": 'purchase_in_course', "commencer un achat": 'start_a_purchase',
"explorer des données": 'explore_datas', "quitter le programme": 'quit'}
return render(request, 'home.html', {'menu': list_first_menu})
def purchase_in_course(request):
return render(request, 'purchase_in_course.html')
def start_a_purchase(request):
return render(request, 'start_a_purchase.html')
def explore_datas(request):
return render(request, 'explore_datas.html')
def quit(request):
return render(request, 'quit.html')
le template home:
{% extends 'base.html' %}
{% block content %}
<h1>Bienvenu sur le programme shopping</h1>
<h2>choisssez un élément dans la liste:</h2>
<ol>
{% for k, values in menu.items %}
{% url values as the_url %}
<li><a href="{{ the_url }}">{{ k }}</a></li>
{% endfor %}
</ol>
{% endblock %}
et pour les models: je n'ai que les classes avec leurs champs...
Je précise: mon but est d'apprendre Django et HTML ( et Javascript probablement)! Pas de faire un site beau et classe !
Merci à vous,
Laurent
Django organisation
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.