django modifier la valeur par défaut runserver port
Je voudrais faire le port par défaut manage.py runserver
écoute sur spécifiables dans superflus config.ini
. Est-il plus facile à résoudre que l'analyse sys.argv
à l'intérieur de manage.py
et en insérant le port configuré?
Le but est de courir ./manage.py runserver
sans avoir à spécifier l'adresse et le port à chaque fois, mais l'avoir prendre les arguments de la config.ini
.
- ce n' "de l'extérieur configurable" signifie?
- J'ai clarifié la question.
- Si vous exécutez la commande de votre ligne de commande de l'histoire, alors c'est encore moins de touches. E. g. pour moi, c'est "<ctrl-r>exécuter<enter>", et il s'exécute automatiquement la commande de même que la dernière fois, de sorte que le port est inclus.
Vous devez vous connecter pour publier un commentaire.
créer un script bash avec les éléments suivants:
de l'enregistrer comme runserver dans le même dir que manage.py
et de l'exécuter en tant que
call
. Si cette solution fonctionne pour vous s'il vous plaît assurez-vous de le marquer comme résolu.supervisor
pour cela, qui le rend encore plus facile à gérer. 🙂 Mais le vôtre est probablement la solution la plus propre autre que d'écrire un dédiérunserver
script.0.0.0.0
est important, surtout si vous utilisez python à l'intérieur de conteneurs dockerEn fait le moyen le plus facile à changer (uniquement) port dans le développement de Django serveur est tout comme:
que doit exécuter le serveur de développement sur http://127.0.0.1:7000/
De Django 1.9, la solution la plus simple que j'ai trouvé (basé sur Quentin Stafford-Fraser de la solution) est d'ajouter quelques lignes à
manage.py
qui dynamiquement modifier le numéro de port par défaut avant d'invoquer lerunserver
commande:from django.core.management.commands.runserver import Command as runserver; runserver.default_port = "8080
à votre manage.py. Vous pouvez également modifier l'écoute adresse:runserver.default_addr
Toutes les commandes suivantes sont possibles pour modifier le port lors de l'exécution de django:
Créer une sous-classe de
django.core.management.commands.runserver.Command
et remplacer ledefault_port
membre. Enregistrez le fichier en tant que gestion de la commande de votre propre, par exemple en vertu de<app-name>/management/commands/runserver.py
:Je suis le chargement du port par défaut paramètres du formulaire ici (qui lit les autres fichiers de configuration), mais vous pourriez tout aussi bien le lire à partir d'un autre fichier directement.
runserver.py
. Faut-il s'inscrire quelque part?runserver
de commande. Aussi peut-être vous avez une autre application aussi de l'enregistrement d'une commande nomméerunserver
. Essayez de renommer votre commande et voir si elle est reconnue.<app_name>/management/commands/runserver.py
, mais alors Django originalrunserver
est utilisé. Quand j'ai renommer enrun_server.py
, il est reconnu. Je ne vois rien de spécial à propos derunserver
sur la page que vous liez.staticfiles
fait exactement ce que vous suggèrent. Ainsi, en suivant vos instructions de sauts de servir les fichiers statiques dans le développement. Il est préférable d'importer dedjango.contrib.staticfiles.management.commands
.Nous avons créé un nouveau " runserver de gestion de commande, qui est une fine enveloppe le standard mais change le port par défaut. En gros, vous créez
management/commands/runserver.py
et de mettre quelque chose comme ceci:Je suis très en retard à la fête ici, mais si vous utilisez un IDE comme PyCharm, il y a une option dans "Modifier les Configurations de' sous le titre 'Run' (menu Run > Modifier les Configurations) où vous pouvez spécifier un port par défaut. Bien sûr, cela est utile que si vous le débogage/tests par le biais de PyCharm.
Dans Pycharm vous pouvez simplement ajouter le port les paramètres
C'est un vieux post, mais pour ceux qui sont intéressés:
Si vous souhaitez modifier le numéro de port par défaut ainsi, lorsque vous exécutez le "runserver de la commande", vous commencez avec votre préféré port ce faire:
DEFAULT_PORT = "8080"
Il fonctionne avec python 2.7, mais il devrait fonctionner avec les nouvelles versions de python ainsi. Bonne chance
Créer de l'environnement de variable dans votre .bashrc
exportation RUNSERVER_PORT=8010
Créer des alias
alias runserver='django-admin runserver $RUNSERVER_PORT'
Im en utilisant zsh et virtualenvs wrapper. J'ai mis l'exportation dans des projets postactivate script et assigner port pour chaque projet.
Si vous souhaitez modifier les configurations par défaut, puis suivez ces étapes:
Ouvrir un terminal tapez la commande
Maintenant ouvert runserver.py fichier dans l'éditeur nano en tant que superutilisateur
trouver le "default_port variable", puis vous verrez le port par défaut n'est '8000'. Maintenant, vous pouvez le modifier comme vous le souhaitez.
Maintenant quitter et enregistrer le fichier à l'aide des touches "CTRL + X et Y enregistrer le fichier"
Remarque: Remplacer les <2/3>.x utilisable avec votre version de python
J'ai été aux prises avec le même problème et trouvé une solution. Je suppose que cela peut vous aider.
lorsque vous exécutez
python manage.py runserver
, il faudra 127.0.0.1 comme adresse ip par défaut et 8000 comme numéro de port par défaut qui peut être configuré dans votre environnement python.Dans votre python configuration, allez à
<your python env>\Lib\site-packages\django\core\management\commands\runserver.py
et de définir1.
default_port = '<your_port>'
2. vous trouverez cette information sous def gérer et de définir
if not options.get('addrport'):
self.addr = '0.0.0.0'
self.port = self.default_port
Maintenant, si vous exécutez "python manage.py runserver", il sera exécuté par défaut sur "0.0.0.0:
Profiter de codage .....