• Django runserver 默认多线程 监听文件变动


     django-admin and manage.py | Django documentation | Django https://docs.djangoproject.com/en/3.0/ref/django-admin/#runserver

    runserver

    django-admin runserver [addrport]

    Starts a lightweight development Web server on the local machine. By default, the server runs on port 8000 on the IP address 127.0.0.1. You can pass in an IP address and port number explicitly.

    If you run this script as a user with normal privileges (recommended), you might not have access to start a port on a low port number. Low port numbers are reserved for the superuser (root).

    This server uses the WSGI application object specified by the WSGI_APPLICATION setting.

    DO NOT USE THIS SERVER IN A PRODUCTION SETTING. It has not gone through security audits or performance tests. (And that’s how it’s gonna stay. We’re in the business of making Web frameworks, not Web servers, so improving this server to be able to handle a production environment is outside the scope of Django.)

    The development server automatically reloads Python code for each request, as needed. You don’t need to restart the server for code changes to take effect. However, some actions like adding files don’t trigger a restart, so you’ll have to restart the server in these cases.

    If you’re using Linux or MacOS and install both pywatchman and the Watchman service, kernel signals will be used to autoreload the server (rather than polling file modification timestamps each second). This offers better performance on large projects, reduced response time after code changes, more robust change detection, and a reduction in power usage. Django supports pywatchman 1.2.0 and higher.

    Large directories with many files may cause performance issues

    When using Watchman with a project that includes large non-Python directories like node_modules, it’s advisable to ignore this directory for optimal performance. See the watchman documentation for information on how to do this.

    Watchman timeout

    The default timeout of Watchman client is 5 seconds. You can change it by setting the DJANGO_WATCHMAN_TIMEOUT environment variable.

    Changed in Django 2.2:

    Watchman support replaced support for pyinotify.

    When you start the server, and each time you change Python code while the server is running, the system check framework will check your entire Django project for some common errors (see the check command). If any errors are found, they will be printed to standard output.

    You can run as many concurrent servers as you want, as long as they’re on separate ports by executing django-admin runserver more than once.

    Note that the default IP address, 127.0.0.1, is not accessible from other machines on your network. To make your development server viewable to other machines on the network, use its own IP address (e.g. 192.168.2.1) or0.0.0.0 or :: (with IPv6 enabled).

    You can provide an IPv6 address surrounded by brackets (e.g. [200a::1]:8000). This will automatically enable IPv6 support.

    A hostname containing ASCII-only characters can also be used.

    If the staticfiles contrib app is enabled (default in new projects) the runserver command will be overridden with its own runserver command.

    Logging of each request and response of the server is sent to the django.server logger.

    --noreload

    Disables the auto-reloader. This means any Python code changes you make while the server is running will not take effect if the particular Python modules have already been loaded into memory.

    --nothreading

    Disables use of threading in the development server. The server is multithreaded by default.

    --ipv6-6

    Uses IPv6 for the development server. This changes the default IP address from 127.0.0.1 to ::1.

    Examples of using different ports and addresses

    Port 8000 on IP address 127.0.0.1:

    django-admin runserver
    

    Port 8000 on IP address 1.2.3.4:

    django-admin runserver 1.2.3.4:8000
    

    Port 7000 on IP address 127.0.0.1:

    django-admin runserver 7000
    

    Port 7000 on IP address 1.2.3.4:

    django-admin runserver 1.2.3.4:7000
    

    Port 8000 on IPv6 address ::1:

    django-admin runserver -6
    

    Port 7000 on IPv6 address ::1:

    django-admin runserver -6 7000
    

    Port 7000 on IPv6 address 2001:0db8:1234:5678::9:

    django-admin runserver [2001:0db8:1234:5678::9]:7000
    

    Port 8000 on IPv4 address of host localhost:

    django-admin runserver localhost:8000
    

    Port 8000 on IPv6 address of host localhost:

    django-admin runserver -6 localhost:8000
  • 相关阅读:
    银丰新融:搭建名单监控管理系统,落实“三反”政策
    动手实操丨RC522射频卡模块与IC卡完成充值消费查询的技术实现思路
    Open Harmony移植:build lite配置目录全梳理
    设备如何使用go sdk轻松连接华为云IoT平台?
    什么是隐私计算,它是怎样保护我们的隐私安全?
    聊聊如何在华为云IoT平台进行产品开发
    《Mybatis 手撸专栏》第7章:SQL执行器的定义和实现
    校招、社招,这么写简历,字节一定能进去!
    《Mybatis 手撸专栏》第6章:数据源池化技术实现
    简单了解 TiDB 架构
  • 原文地址:https://www.cnblogs.com/rsapaper/p/12524612.html
Copyright © 2020-2023  润新知