• 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
  • 相关阅读:
    .NET正则基础之——平衡组
    网站架构探索负载均衡的方式
    Sql2005 全文索引详解
    构架师之路(4) 里氏代换原则(Liskov Substitution Principle, LSP)
    Ubuntu 9.04 server安装nginx+php(fastcgi)
    构架师之路(2) 开闭原则(OpenClosed Principle,OCP)
    SQL Server中常用全局变量介绍
    构架师之路(3) 1 IoC理论的背景
    linux ubuntu 命令集合
    理解nginx 和 php(fastcgi)的关系
  • 原文地址:https://www.cnblogs.com/rsapaper/p/12524612.html
Copyright © 2020-2023  润新知