Answers:
使用以下命令创建一个bash脚本:
#!/bin/bash
exec ./manage.py runserver 0.0.0.0:<your_port>
将其保存为runserver并与manage.py放在同一目录中
chmod +x runserver
并运行为
./runserver
call
。如果此解决方案适合您,请确保将其标记为已解决。
supervisor
现在开始使用它,这使得管理起来更加容易。:-)但是,除了编写专用的runserver
脚本之外,您的解决方案可能是最干净的解决方案。
实际上,在开发Django服务器中更改(仅)端口的最简单方法是:
python manage.py runserver 7000
应该在http://127.0.0.1:7000/上运行开发服务器的服务器
从Django 1.9开始,我发现的最简单的解决方案(基于Quentin Stafford-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)
from django.core.management.commands.runserver import Command as runserver; runserver.default_port = "8080
到您的manage.py中。您还可以使用以下方式更改收听地址:runserver.default_addr
运行django时,以下所有命令都可以更改端口:
python manage.py runserver 127.0.0.1:7000
python manage.py runserver 7000
python manage.py runserver 0:7000
创建的子类django.core.management.commands.runserver.Command
并覆盖default_port
成员。将文件另存为自己的管理命令,例如<app-name>/management/commands/runserver.py
:
from django.conf import settings
from django.core.management.commands import runserver
class Command(runserver.Command):
default_port = settings.RUNSERVER_PORT
我在此处加载默认端口表单设置(依次读取其他配置文件),但是您也可以直接从其他文件中读取它。
runserver.py
。我应该在某个地方注册吗?
runserver
命令的python模块的放置位置。另外,也许您还有另一个应用程序也在注册名为的命令runserver
。尝试重命名您的命令,看看它是否被识别。
<app_name>/management/commands/runserver.py
,但随后使用了Django的原始版本runserver
。当我将其重命名为时run_server.py
,它将被识别。runserver
在您链接到的页面上,我看不到任何特别之处。
我们创建了一个新的“ runserver”管理命令,该命令是标准包装的薄包装,但更改了默认端口。大致来说,您创建management/commands/runserver.py
并放入了以下内容:
# Override the value of the constant coded into django...
import django.core.management.commands.runserver as runserver
runserver.DEFAULT_PORT="8001"
# ...print out a warning...
# (This gets output twice because runserver fires up two threads (one for autoreload).
# We're living with it for now :-)
import os
dir_path = os.path.splitext(os.path.relpath(__file__))[0]
python_path = dir_path.replace(os.sep, ".")
print "Using %s with default port %s" % (python_path, runserver.DEFAULT_PORT)
# ...and then just import its standard Command class.
# Then manage.py runserver behaves normally in all other regards.
from django.core.management.commands.runserver import Command
如果您想更改默认配置,请按照以下步骤操作:
打开终端类型命令
$ /usr/local/lib/python<2/3>.x/dist-packages/django/core/management/commands
现在以超级用户身份在nano编辑器中打开runserver.py文件
$ sudo nano runserver.py
找到“ default_port”变量,您将看到默认端口号为“ 8000”。现在,您可以将其更改为所需的任何内容。
现在退出并使用“ CTRL + X和Y保存文件”保存文件
注意:将<2/3> .x替换为可用的python版本
这是旧文章,但对那些感兴趣的人来说:
如果要更改默认端口号,以便在运行“ runserver”命令时从首选端口开始,请执行以下操作:
DEFAULT_PORT = "8080"
它适用于python 2.7,但也应适用于新版本的python。祝好运
我在同一个问题上挣扎,找到了一个解决方案。我想它可以帮助您。运行时python manage.py runserver
,它将在默认ip地址中使用127.0.0.1,在python环境中配置默认端口8000。在您的python设置中,转到<your python env>\Lib\site-packages\django\core\management\commands\runserver.py
并设置1。2 default_port = '<your_port>'
.在def handle下找到并设置
if not options.get('addrport'):
self.addr = '0.0.0.0'
self.port = self.default_port
现在,如果您运行“ python manage.py runserver”,则它将默认在“ 0.0.0.0”上运行:
享受编码.....