我想在一个多余的config.ini中指定manage.py runserver侦听的默认端口。有没有比解析sys. exe更简单的解决方案?在manage.py和插入配置端口Argv ?
目标是运行./manage.py runserver,而不必每次都指定地址和端口,而是让它从config.ini中获取参数。
我想在一个多余的config.ini中指定manage.py runserver侦听的默认端口。有没有比解析sys. exe更简单的解决方案?在manage.py和插入配置端口Argv ?
目标是运行./manage.py runserver,而不必每次都指定地址和端口,而是让它从config.ini中获取参数。
当前回答
对于Django 3。X,修改settings.py中的default_port。是这样的:
from decouple import config
import django.core.management.commands.runserver as runserver
runserver.Command.default_port = config('WebServer_Port', default = "8088")
然后,如果你想指定端口,只需在你的setting.ini中添加一个新行
[settings]
WebServer_Port=8091
如果不是,请删除该参数。
其他回答
在上一个版本的Django(目前:4.0.3)中,你可以在settings.py文件中添加这些行
from django.core.management.commands.runserver import Command as runserver
runserver.default_port = "8000"
下面所有的命令都可以在运行django时改变端口:
python manage.py runserver 127.0.0.1:7000
python manage.py runserver 7000
python manage.py runserver 0:7000
从Django 1.9开始,我找到的最简单的解决方案(基于Quentin stford - fraser的解决方案)是在manage.py中添加几行代码,在调用runserver命令之前动态修改默认端口号:
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings.dev")
import django
django.setup()
# Override default port for `runserver` command
from django.core.management.commands.runserver import Command as runserver
runserver.default_port = "8080"
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
这是一个旧的帖子,但是对于那些感兴趣的人:
如果你想改变默认端口号,那么当你运行"runserver"命令时,你可以这样做:
Find your python installation. (you can have multiple pythons installed and you can have your virtual environment version as well so make sure you find the right one) Inside the python folder locate the site-packages folder. Inside that you will find your django installation Open the django folder-> core -> management -> commands Inside the commands folder open up the runserver.py script with a text editor Find the DEFAULT_PORT field. it is equal to 8000 by default. Change it to whatever you like DEFAULT_PORT = "8080" Restart your server: python manage.py runserver and see that it uses your set port number
它适用于python 2.7,但也适用于较新版本的python。祝你好运
我在这里很晚了,但如果你使用像PyCharm这样的IDE,在“运行”菜单下的“编辑配置”中有一个选项(运行>编辑配置),在那里你可以指定一个默认端口。当然,这只适用于通过PyCharm进行调试/测试。