2017-06-05 1 views
0

Est-il possible de modifier Django pour que les modèles et répertoires statiques (y compris les sous-répertoires pour les applications existantes) soient créés automatiquement?Django crée des répertoires statiques et de modèle lors de l'utilisation de startproject/startapp

Je veux également que settings.py soit mis à jour pour refléter toutes les modifications. C'est, d'avoir les lignes:

STATICFILES_DIRS = [ 
    os.path.join(BASE_DIR, "static"), 
] 

TEMPLATES = [ 
    { 
     ... 
     'DIRS': [os.path.join(BASE_DIR, 'templates').replace('\\', '/')], 
     ... 
    }, 
] 

et peut-être un drapeau lors de l'exécution ./manage.py startapp pour ajouter le appname à INSTALLED_APPS. Je trouve que j'écris le même code standard pour chaque projet et j'ai l'impression qu'il pourrait être facilement simplifié.

Bien sûr, il y a peut-être une bonne raison pour laquelle ces choses ont été omises de Django. Je suppose que c'est parce que les emplacements de ces répertoires ne sont que conventionnels et qu'ils veulent permettre aux développeurs de les déplacer facilement si nécessaire, mais je n'ai jamais eu besoin de le faire.

Idéalement, je cherche une fourche de Django qui ferait cela, donc je n'aurais pas à le maintenir moi-même. J'utilise Ubuntu, donc je pense que je pourrais alias la commande pour faire ces choses, mais je ne veux pas passer du temps à le faire si quelqu'un d'autre l'a déjà fait mieux.

Répondre

1

Jetez un coup d'œil à --template dans la documentation startproject. https://docs.djangoproject.com/en/1.11/ref/django-admin/#startproject

+0

Merci! Cela aide un peu. Je ne peux pas croire que je n'avais pas pensé à regarder dans les docs déjà. Je continuerai à chercher pour voir s'il y a des drapeaux équivalents pour 'startapp', etc. – Sam

+0

Je suis content que ça ait aidé! Je crois qu'il y a quelque chose de similaire pour startapp. Il y a aussi quelques modèles de démarrage sur github. Il suffit de chercher "modèle de démarrage Django" et vous devriez en voir quelques-uns. – petey