我立刻开发了一些服务项目。
如果我运行了两次runserver,就会得到以下错误:
System check identified no issues (0 silenced).
September 10, 2021 - 10:44:26
Django version 3.1.4, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Error: That port is already in use.我知道我可以手动提供不同的端口,但是更自动的方法会更好。
如果不手动为每个项目手工分配一个端口,我如何解决这个冲突?
我的笔记本电脑上有50多个系统,我不想用手给每个系统一个端口号。
发布于 2021-09-19 12:58:43
您可以实现如下内容。
settings.py中的
RUN_SERVER_PORTRUN_SERVER_PORT = 8080在manage.py中
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
from django.core.management.commands.runserver import Command as runserver
from django.conf import settings
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'accountant.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
runserver.default_port = settings.RUN_SERVER_PORT
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()工作证明:
python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
September 19, 2021 - 12:47:59
Django version 3.2.6, using settings 'accountant.settings'
Starting development server at http://127.0.0.1:8080/
Quit the server with CONTROL-C.您可以使用RUN_SERVER_PORT中的任何可用端口
发布于 2021-09-14 11:08:46
您可以创建自己的管理命令runsever_foo。
然后可以从settings.py或os.environ获取端口的默认值。
发布于 2021-09-17 16:55:04
参考这篇文章:https://stackoverflow.com/a/38319452/16936785
为了进行随机端口选择,我建议将manage.py下的服务器端口修改为如下:
import random
from django.core.management.commands.runserver import Command
port_number = random.randint(8000, 8888)
Command.default_port = str(port_number)https://stackoverflow.com/questions/69131091
复制相似问题