我想使manage.py runserver
侦听的默认端口在无关的config.ini
中可指定。是否比在sys.argv
内解析manage.py
并插入配置的端口更容易解决?
目标是运行./manage.py runserver
,而不必每次都指定地址和端口,而是让它从config.ini
获取参数。
答案 0 :(得分:122)
使用以下内容创建一个bash脚本:
#!/bin/bash
exec ./manage.py runserver 0.0.0.0:<your_port>
将其保存为与manage.py
相同的目录中的runserverchmod +x runserver
并将其作为
运行./runserver
答案 1 :(得分:63)
实际上,在开发Django服务器中更改(仅)端口的最简单方法就是:
python manage.py runserver 7000
上运行开发服务器
答案 2 :(得分:33)
从Django 1.9开始,我发现的最简单的解决方案(基于Quentin Stafford-Fraser的解决方案)是向manage.py
添加几行,在调用{之前动态修改默认端口号{1}}命令:
runserver
答案 3 :(得分:15)
以下所有命令都可以在运行django时更改端口:
python manage.py runserver 127.0.0.1:7000
python manage.py runserver 7000
python manage.py runserver 0:7000
答案 4 :(得分:8)
创建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
我在这里加载默认的端口表单设置(后面又读取其他配置文件),但您也可以直接从其他文件中读取它。
答案 5 :(得分:7)
我们创建了一个新的&#39; runserver&#39; management命令,它是标准的一个瘦包装器,但更改了默认端口。粗略地说,你创建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
答案 6 :(得分:2)
您可以尝试在 void handleMouseWheel(HWND hwnd, int delta)
{
SCROLLINFO si;
si.cbSize = sizeof(SCROLLINFO);
si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;
if (!GetScrollInfo(hwnd, SB_VERT, &si)) {
ErrorExit(LPWSTR(NAMEOF(GetScrollInfo)), __LINE__, LPWSTR(__FILENAME__));
}
int nOldPos = si.nPos;
int nPos = nOldPos + wheelScrollLines(hwnd, delta, si.nPage);
si.fMask = SIF_POS;
SetScrollPos(hwnd, SB_VERT, nPos, TRUE);
GetScrollInfo(hwnd, SB_VERT, &si);
if (!ScrollWindow(hwnd, 0, nOldPos - si.nPos, NULL, NULL)) {
ErrorExit(LPWSTR(NAMEOF(ScrollWindow)), __LINE__, LPWSTR(__FILENAME__));
}
UpdateWindow(hwnd);
}
中像这样添加参数
manage.py
<块引用>
python manage.py runserver python manage.py runserver 0.0.0.0:5000
或者你像这样传递端口
<your IP>:<port>
<块引用>
python manage.py runserver python manage.py runserver 5000
答案 7 :(得分:1)
我在这里参加派对的时间已经很晚,但如果您使用像PyCharm这样的IDE,可以在“运行”菜单(运行&gt;编辑配置)下的“编辑配置”中选择一个选项,您可以在其中指定默认端口。当然,这只有在您通过PyCharm进行调试/测试时才有意义。
答案 8 :(得分:1)
在Pycharm中,您只需将端口添加到参数中
答案 9 :(得分:0)
这是一篇旧帖子,但感兴趣的是:
如果要更改默认端口号,那么在运行&#34; runserver&#34;命令从您的首选端口开始执行此操作:
DEFAULT_PORT = "8080"
它适用于python 2.7,但它也适用于较新版本的python。祝你好运
答案 10 :(得分:0)
如果您想更改默认配置,请按以下步骤操作:
打开终端类型命令
$ /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保存文件”保存文件
注意:将&lt; 2/3&gt; .x替换为您可用的python版本
答案 11 :(得分:-3)
我正在努力解决同样的问题,并找到了一个解决方案。我想它可以帮到你。
运行python manage.py runserver
时,默认IP地址为127.0.0.1,默认端口号为8000,可以在python环境中配置。
在你的python设置中,转到<your python env>\Lib\site-packages\django\core\management\commands\runserver.py
并设置
1. default_port = '<your_port>'
2.在def手柄下找到并设置
if not options.get('addrport'):
self.addr = '0.0.0.0'
self.port = self.default_port
现在,如果你运行&#34; python manage.py runserver&#34;它默认运行在&#34; 0.0.0.0:
享受编码......