12
votes

Qu'est-ce qu'une "application" à Django?

Selon La documentation :

Une application est une application Web qui fait quelque chose - par exemple, un système de blogs, un base de données d'archives publiques ou d'un simple Application de sondage. Un projet est une collection de Configuration et applications pour un site Web particulier. Un projet peut contenir plusieurs applications. Une application peut être dans plusieurs projets.

Cependant, quels sont les autres exemples de ce qui fait une "application"?


0 commentaires

3 Réponses :


2
votes

Gestion des utilisateurs pourrait très bien être une application, si vous n'utilisez pas la structure utilisateur intégrée de Django.

Il possède des interfaces utilisateur et des modèles définis pour les données stockées, et il est vraiment séparé du blog ou de l'application wiki (bien que les informations soient partagées).

Tant que les deux applications sont dans le même "projet", ils doivent utiliser les mêmes paramètres pour la DB. Vous devriez être capable de vous assurer que les modèles appropriés sont importés où vous essayez de les utiliser.

voir Ce lien < / a> pour un peu plus d'informations.


2 commentaires

d'accord. Les utilisateurs étaient un mauvais choix, je suppose. Mais vous pouvez partager des données entre les applications?


Oui, vous devriez être capable de. Publier édité pour donner plus d'informations.



14
votes

Qu'est-ce qui fait une application (pour nous) est une chose:

une application est l'unité de réutilisation

Si nous voudrions peut-être le diviser pour utiliser ailleurs, c'est une application.

S'il a un modèle de données réutilisable, c'est une application. Profils d'utilisateur: App. Clients: App. Historique statistique du client (c'est difficile à expliquer sans trop de détails): App. Reporting: App. Analyse actuarielle: application. API du vendeur pour la collecte de données: application.

S'il est unique et ne sera jamais réutilisé (c'est-à-dire spécifique au client) C'est une application qui dépend d'autres applications. Les charges de données sont spécifiques au client. Chacune est une application qui s'appuie sur une paire d'applications existante (téléchargements de lots et historique statistique)


1 commentaires

Cela a du sens et confirme ce que je pensais. Merci.



5
votes

Les applications Django sont des paquets de fonctionnalités réutilisables. Lorsque vous commencez, il est facile de simplement utiliser une application personnalisée pour votre projet, mais la «voie Django» consiste à rompre dans des applications distinctes que chacune ne fait qu'une seule chose. Vous pouvez jeter un coup d'oeil à Django.Contrib pour des exemples d'applications réutilisables vraiment bien réalisées.

Un exemple récent de mien: un client avait besoin d'un moyen d'importer des données CSV dans les modèles Django. Le moyen le plus simple serait de simplement ajouter un modèle avec un champ de fichier et écrire un analyseur rapide pour le format spécifique de ce qu'ils téléchargent. Cela fonctionnerait bien jusqu'au format changé et je devais aller faire le match d'analyseur. Mais il s'agit d'une tâche communément répétée (importation de données) et non liée à l'application existante (gérant ces données), donc je l'ai cédée. Cette application Pluggable peut importer des données pour tout modèle actif. Maintenant, la prochaine fois qu'un client a besoin d'importer des fonctionnalités, j'ajoute simplement ce code à installé_apps et exécutez Syncdb.

C'est un jugement appeler quand sortir d'une application sur elle-même, mais la règle de base de moi est si je suis susceptible de faire quelque chose à nouveau, je prendrai le temps supplémentaire pour en faire une application générique. Cela signifie que j'ai créé des apps minuscules (certains contiennent simplement une étiquette de modèle), mais il fait peu de frais généraux pour les gains futurs.


0 commentaires