jon*_*nny 97 python django django-manage.py manage.py
我想使默认端口manage.py runserver侦听一个无关的可指定的端口config.ini.有没有比解析sys.argv内部manage.py和插入配置端口更容易的解决方案?
目标是在./manage.py runserver不必每次都指定地址和端口的情况下运行,而是让它从中获取参数config.ini.
Pab*_*noz 148
使用以下命令创建一个bash脚本:
#!/bin/bash
exec ./manage.py runserver 0.0.0.0:<your_port>
Run Code Online (Sandbox Code Playgroud)
将它作为runserver保存在与manage.py相同的目录中
chmod +x runserver
Run Code Online (Sandbox Code Playgroud)
并运行它
./runserver
Run Code Online (Sandbox Code Playgroud)
Qba*_*ack 78
实际上,在开发Django服务器中更改(仅)端口的最简单方法就是:
python manage.py runserver 7000
Run Code Online (Sandbox Code Playgroud)
应该在http://127.0.0.1:7000/上运行开发服务器
Bil*_*one 37
从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)
Run Code Online (Sandbox Code Playgroud)
Kri*_*rya 22
运行django时,可以使用以下所有命令更改端口:
python manage.py runserver 127.0.0.1:7000
python manage.py runserver 7000
python manage.py runserver 0:7000
Run Code Online (Sandbox Code Playgroud)
per*_*eka 12
manage.py你可以尝试像这样添加一个参数
python manage.py runserver 0.0.0.0:5000
Run Code Online (Sandbox Code Playgroud)
python 管理.py runserver
<your IP>:<port>
或者你像这样通过端口
python manage.py runserver 5000
Run Code Online (Sandbox Code Playgroud)
python 管理.py runserver
<your port>
小智 12
在 Django 的最新版本(现在:4.0.3)中,您可以将这些行添加到您的 settings.py 文件中
from django.core.management.commands.runserver import Command as runserver
runserver.default_port = "8000"
Run Code Online (Sandbox Code Playgroud)
Feu*_*mel 10
创建一个子类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
Run Code Online (Sandbox Code Playgroud)
我在这里加载默认的端口表单设置(它反过来读取其他配置文件),但您也可以直接从其他文件中读取它.
小智 8
python manage.py runserver <your port>
Run Code Online (Sandbox Code Playgroud)
在浏览器中运行 127.0.0.1:(你的端口)
我们创建了一个新的'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
Run Code Online (Sandbox Code Playgroud)
小智 6
在你的项目的manage.py文件中添加
from django.core.management.commands.runserver import Command as runserver
Run Code Online (Sandbox Code Playgroud)
然后在 def main() 中:
runserver.default_port = "8001"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
137706 次 |
| 最近记录: |