我想在一个多余的config.ini中指定manage.py runserver侦听的默认端口。有没有比解析sys. exe更简单的解决方案?在manage.py和插入配置端口Argv ?

目标是运行./manage.py runserver,而不必每次都指定地址和端口,而是让它从config.ini中获取参数。


当前回答

在Pycharm中,可以简单地将端口添加到参数中

其他回答

用下面的代码创建一个bash脚本:

#!/bin/bash
exec ./manage.py runserver 0.0.0.0:<your_port>

将其保存为与manage.py相同目录下的runserver

chmod +x runserver

然后运行它

./runserver

如果您希望更改默认配置,请执行以下步骤:

打开终端类型命令 美元/usr/local/lib/python < > 2/3。x / dist-packages / django /核心/管理/命令 现在以超级用户身份在nano编辑器中打开runserver.py文件 $ sudo nano runserver.py 找到'default_port'变量,然后你会看到默认端口是'8000'。现在你可以把它改成任何你想要的。 现在退出并保存文件使用“CTRL + X和Y来保存文件”

注意:替换<2/3>。X和你可用的python版本

在Pycharm中,可以简单地将端口添加到参数中

您可以尝试像这样在manage.py中添加一个参数

python manage.py runserver 0.0.0.0:5000 

python manage.py runserver <您的IP>:<端口>

或者像这样通过港口

python manage.py runserver 5000

Python manage.py runserver <您的端口>

从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)