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

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


当前回答

实际上,在Django服务器开发中修改(唯一)端口的最简单方法是:

python manage.py runserver 7000

它应该在http://127.0.0.1:7000/上运行开发服务器

其他回答

首先你为app应用迁移

python manage.py migrate

然后:

python manage.py runserver <your port>

在浏览器运行127.0.0.1后:(你的端口)

下面所有的命令都可以在运行django时改变端口:

python manage.py runserver 127.0.0.1:7000

python manage.py runserver 7000

python manage.py runserver 0:7000

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

在你的项目manage.py文件中添加

from django.core.management.commands.runserver import Command as runserver

然后在def main()中:

runserver.default_port = "8001" 

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