{"title":"django-admin 和 manage.py","version":"4.2","locale":"zh-hans","docname":"ref/django-admin","url":"/zh-hans/4.2/ref/django-admin/","canonical":"https://djangodocs.dev/zh-hans/4.2/ref/django-admin/","summary":"django admin 是 Django 用于管理任务的命令行实用程序。这份文件概述了它所能做的一切。此外，manage.py 会在每个 Django 项目中自动创建。","html":"<section id=\"django-admin-and-manage-py\">\n<h1><code class=\"docutils literal notranslate\">django-admin</code> 和 <code class=\"docutils literal notranslate\">manage.py</code><a class=\"heading-anchor\" href=\"#django-admin-and-manage-py\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><code class=\"docutils literal notranslate\">django admin</code> 是 Django 用于管理任务的命令行实用程序。这份文件概述了它所能做的一切。</p>\n<p>此外，<code class=\"docutils literal notranslate\">manage.py</code> 会在每个 Django 项目中自动创建。它做的事情和 <code class=\"docutils literal notranslate\">django-admin</code> 一样，但也设置了 <span class=\"target\" id=\"index-22\"></span><a class=\"reference internal\" href=\"/zh-hans/4.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_SETTINGS_MODULE</code></a> 环境变量，使其指向你的项目的 <code class=\"docutils literal notranslate\">settings.py</code> 文件。</p>\n<p>如果你通过 <code class=\"docutils literal notranslate\">pip</code> 安装 Django，<code class=\"docutils literal notranslate\">django-admin</code> 脚本应该在你的系统路径中。如果它不在你的系统路径中，请确保你的虚拟环境已经被激活。</p>\n<p>一般来说，当你在一个 Django 项目中工作时，使用 <code class=\"docutils literal notranslate\">manage.py</code> 比使用 <code class=\"docutils literal notranslate\">django-admin</code> 更容易。如果你需要在多个 Django 配置文件之间切换，可以使用 <code class=\"docutils literal notranslate\">django-admin</code> 与 <span class=\"target\" id=\"index-23\"></span><a class=\"reference internal\" href=\"/zh-hans/4.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_SETTINGS_MODULE</code></a> 或 <a class=\"reference internal\" href=\"#cmdoption-settings\"><code class=\"xref std std-option docutils literal notranslate\">--settings</code></a> 命令行选项。</p>\n<p>为了保持一致，本文中的命令行例子都使用了 <code class=\"docutils literal notranslate\">django-admin</code>，但任何例子都可以使用 <code class=\"docutils literal notranslate\">manage.py</code> 或 <code class=\"docutils literal notranslate\">python -m django</code>。</p>\n<section id=\"usage\">\n<h2>用法<a class=\"heading-anchor\" href=\"#usage\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>django-admin &lt;command&gt; <span class=\"o\">[</span>options<span class=\"o\">]</span>\n<span class=\"gp\">$ </span>manage.py &lt;command&gt; <span class=\"o\">[</span>options<span class=\"o\">]</span>\n<span class=\"gp\">$ </span>python -m django &lt;command&gt; <span class=\"o\">[</span>options<span class=\"o\">]</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> django-admin <span class=\"p\">&lt;</span>command<span class=\"p\">&gt;</span> [options]\n<span class=\"gp\">...\\&gt;</span> manage.py <span class=\"p\">&lt;</span>command<span class=\"p\">&gt;</span> [options]\n<span class=\"gp\">...\\&gt;</span> py -m django <span class=\"p\">&lt;</span>command<span class=\"p\">&gt;</span> [options]\n</code></pre></div></div></div>\n<p><code class=\"docutils literal notranslate\">command</code> 应是本文件所列的命令之一。<code class=\"docutils literal notranslate\">options</code> 是可选的，应该是 0 个或更多可用于指定命令的选项。</p>\n<section id=\"getting-runtime-help\">\n<h3>获得运行时帮助<a class=\"heading-anchor\" href=\"#getting-runtime-help\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-help\">\n<span class=\"sig-name descname\">django-admin help</span><a class=\"heading-anchor\" href=\"#django-admin-help\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>运行 <code class=\"docutils literal notranslate\">django-admin help</code> 来显示使用信息和每个应用程序提供的命令列表。</p>\n<p>运行 <code class=\"docutils literal notranslate\">django-admin help --commands</code> 来显示所有可用命令的列表。</p>\n<p>运行 <code class=\"docutils literal notranslate\">django-admin help &lt;command&gt;</code> 来显示命令的描述和可用选项的列表。</p>\n</section>\n<section id=\"app-names\">\n<h3>应用名称<a class=\"heading-anchor\" href=\"#app-names\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>许多命令都需要一个“应用名称”的列表。一个“应用名称”是包含你模型的包的基名。例如，如果你的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> 包含字符串 <code class=\"docutils literal notranslate\">'mysite.blog'</code>，则应用名称为 <code class=\"docutils literal notranslate\">blog</code>。</p>\n</section>\n<section id=\"determining-the-version\">\n<h3>确定版本<a class=\"heading-anchor\" href=\"#determining-the-version\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-version\">\n<span class=\"sig-name descname\">django-admin version</span><a class=\"heading-anchor\" href=\"#django-admin-version\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>运行 <code class=\"docutils literal notranslate\">django-admin version</code> 来显示当前的 Django 版本。</p>\n<p>输出遵循了 <span class=\"target\" id=\"index-24\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-0440/\"><strong>PEP 440</strong></a> 中描述的模式：</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Text code\"><code>1.4.dev17026\n1.4a1\n1.4\n</code></pre></div>\n</section>\n<section id=\"displaying-debug-output\">\n<h3>显示 debug 输出<a class=\"heading-anchor\" href=\"#displaying-debug-output\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>使用 <a class=\"reference internal\" href=\"#cmdoption-verbosity\"><code class=\"xref std std-option docutils literal notranslate\">--verbosity</code></a>，如果支持的话，可以指定 <code class=\"docutils literal notranslate\">django-admin</code> 打印到控制台的通知和调试信息的数量。</p>\n</section>\n</section>\n<section id=\"available-commands\">\n<h2>可用命令<a class=\"heading-anchor\" href=\"#available-commands\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"check\">\n<h3><code class=\"docutils literal notranslate\">check</code><a class=\"heading-anchor\" href=\"#check\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-check\">\n<span class=\"sig-name descname\">django-admin check [app_label [app_label ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-check\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/checks/\"><span class=\"doc\">系统检查框架</span></a> 来检查整个 Django 项目的常见问题。</p>\n<p>默认情况下，将检查所有应用程序。你可以通过提供应用程序标签的列表作为参数来检查一部分应用程序：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin check auth admin myapp</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-check-tag\">\n<span id=\"cmdoption-check-t\"></span><span class=\"sig-name descname\">--tag</span><span class=\"sig-prename descclassname\"> TAGS</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-t</span><span class=\"sig-prename descclassname\"> TAGS</span><a class=\"heading-anchor\" href=\"#cmdoption-check-tag\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>系统检查框架执行许多不同类型的检查，这些检查被 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/checks/#system-check-builtin-tags\"><span class=\"std std-ref\">分类为标签</span></a>。你可以使用这些标签将执行的检查限制为特定类别中的检查。例如，要只执行模型和兼容性检查，请运行：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin check --tag models --tag compatibility</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-check-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-check-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要运行需要数据库访问的检查的数据库：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin check --database default --database other</span>\n</code></pre></div>\n<p>默认情况下，这些检查不会被运行。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-check-list-tags\">\n<span class=\"sig-name descname\">--list-tags</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-check-list-tags\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>列出所有可用的标签。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-check-deploy\">\n<span class=\"sig-name descname\">--deploy</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-check-deploy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>激活一些仅在部署环境中相关的附加检查。</p>\n<p>你可以在本地开发环境中使用这个选项，但由于你的本地开发设置模块可能不包含许多生产设置，所以你可能希望将 <code class=\"docutils literal notranslate\">check</code> 命令指向不同的设置模块，可以通过设置 <span class=\"target\" id=\"index-25\"></span><a class=\"reference internal\" href=\"/zh-hans/4.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_SETTINGS_MODULE</code></a> 环境变量或通过传递 <code class=\"docutils literal notranslate\">--settings</code> 选项来实现：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin check --deploy --settings=production_settings</span>\n</code></pre></div>\n<p>或者你可以直接在生产或暂存部署上运行它，以验证是否使用了正确的配置（省略 <code class=\"docutils literal notranslate\">--settings</code>）。你甚至可以把它作为集成测试套件的一部分。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-check-fail-level\">\n<span class=\"sig-name descname\">--fail-level</span><span class=\"sig-prename descclassname\"> {CRITICAL,ERROR,WARNING,INFO,DEBUG}</span><a class=\"heading-anchor\" href=\"#cmdoption-check-fail-level\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定导致命令以非零状态退出的消息级别。默认值是 <code class=\"docutils literal notranslate\">ERROR</code>。</p>\n</section>\n<section id=\"compilemessages\">\n<h3><code class=\"docutils literal notranslate\">compilemessages</code><a class=\"heading-anchor\" href=\"#compilemessages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-compilemessages\">\n<span class=\"sig-name descname\">django-admin compilemessages</span><a class=\"heading-anchor\" href=\"#django-admin-compilemessages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>将 <a class=\"reference internal\" href=\"#django-admin-makemessages\"><code class=\"xref std std-djadmin docutils literal notranslate\">makemessages</code></a> 创建的 <code class=\"docutils literal notranslate\">.po</code> 文件编译成 <code class=\"docutils literal notranslate\">.mo</code> 文件，以用于内置的 gettext 支持。参见 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/i18n/\"><span class=\"doc\">国际化和本地化</span></a>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-compilemessages-locale\">\n<span id=\"cmdoption-compilemessages-l\"></span><span class=\"sig-name descname\">--locale</span><span class=\"sig-prename descclassname\"> LOCALE</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-l</span><span class=\"sig-prename descclassname\"> LOCALE</span><a class=\"heading-anchor\" href=\"#cmdoption-compilemessages-locale\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要处理的 locale。如果没有提供，则会处理所有的 locale。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-compilemessages-exclude\">\n<span id=\"cmdoption-compilemessages-x\"></span><span class=\"sig-name descname\">--exclude</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-x</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><a class=\"heading-anchor\" href=\"#cmdoption-compilemessages-exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要从处理中排除的 locale。如果没有提供，则不排除任何 locale。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-compilemessages-use-fuzzy\">\n<span id=\"cmdoption-compilemessages-f\"></span><span class=\"sig-name descname\">--use-fuzzy</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-f</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-compilemessages-use-fuzzy\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>包括 <a class=\"reference external\" href=\"https://www.gnu.org/software/gettext/manual/html_node/Fuzzy-Entries.html\">fuzzy 翻译</a> 到编译文件。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin compilemessages --locale=pt_BR</span>\n<span class=\"go\">django-admin compilemessages --locale=pt_BR --locale=fr -f</span>\n<span class=\"go\">django-admin compilemessages -l pt_BR</span>\n<span class=\"go\">django-admin compilemessages -l pt_BR -l fr --use-fuzzy</span>\n<span class=\"go\">django-admin compilemessages --exclude=pt_BR</span>\n<span class=\"go\">django-admin compilemessages --exclude=pt_BR --exclude=fr</span>\n<span class=\"go\">django-admin compilemessages -x pt_BR</span>\n<span class=\"go\">django-admin compilemessages -x pt_BR -x fr</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-compilemessages-ignore\">\n<span id=\"cmdoption-compilemessages-i\"></span><span class=\"sig-name descname\">--ignore</span><span class=\"sig-prename descclassname\"> PATTERN</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-i</span><span class=\"sig-prename descclassname\"> PATTERN</span><a class=\"heading-anchor\" href=\"#cmdoption-compilemessages-ignore\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>忽略与给定 <a class=\"reference external\" href=\"https://docs.python.org/3/library/glob.html#module-glob\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\">glob</code></a> 风格的模式相匹配的目录。使用多次可以忽略更多的目录。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin compilemessages --ignore=cache --ignore=outdated/*/locale</span>\n</code></pre></div>\n</section>\n<section id=\"createcachetable\">\n<h3><code class=\"docutils literal notranslate\">createcachetable</code><a class=\"heading-anchor\" href=\"#createcachetable\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-createcachetable\">\n<span class=\"sig-name descname\">django-admin createcachetable</span><a class=\"heading-anchor\" href=\"#django-admin-createcachetable\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>使用你的配置文件中的信息创建用于数据库缓存后台的缓存表。更多信息请参见 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/cache/\"><span class=\"doc\">Django 缓存框架</span></a>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-createcachetable-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-createcachetable-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定创建缓存表的数据库。默认值为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-createcachetable-dry-run\">\n<span class=\"sig-name descname\">--dry-run</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-createcachetable-dry-run\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>打印无需实际运行的 SQL，所以你可以自定义它或使用迁移框架。</p>\n</section>\n<section id=\"dbshell\">\n<h3><code class=\"docutils literal notranslate\">dbshell</code><a class=\"heading-anchor\" href=\"#dbshell\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-dbshell\">\n<span class=\"sig-name descname\">django-admin dbshell</span><a class=\"heading-anchor\" href=\"#django-admin-dbshell\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>运行你的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-DATABASE-ENGINE\"><code class=\"xref std std-setting docutils literal notranslate\">ENGINE</code></a> 配置中指定的数据库引擎的命令行客户端，连接参数在你的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-USER\"><code class=\"xref std std-setting docutils literal notranslate\">USER</code></a>、 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-PASSWORD\"><code class=\"xref std std-setting docutils literal notranslate\">PASSWORD</code></a> 等配置中指定。</p>\n<ul class=\"simple\">\n<li><p>对于 PostgreSQL 来说，这将运行 <code class=\"docutils literal notranslate\">psql</code> 命令行客户端。</p></li>\n<li><p>对于 MySQL 来说，这将运行 <code class=\"docutils literal notranslate\">mysql</code> 命令行客户端。</p></li>\n<li><p>对于 SQLite 来说，这将运行 <code class=\"docutils literal notranslate\">sqlite3</code> 命令行客户端。</p></li>\n<li><p>对于 Oracle 来说，这将运行 <code class=\"docutils literal notranslate\">sqlplus</code> 命令行客户端。</p></li>\n</ul>\n<p>这个命令假设程序在你的 <code class=\"docutils literal notranslate\">PATH</code> 上，这样调用程序名（<code class=\"docutils literal notranslate\">psql</code>、<code class=\"docutils literal notranslate\">mysql</code>、<code class=\"docutils literal notranslate\">sqlite3</code>、<code class=\"docutils literal notranslate\">sqlplus</code>）就能在正确的地方找到程序。没有办法手动指定程序的位置。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dbshell-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-dbshell-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定打开命令行的数据库。默认为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dbshell-0\">\n<span class=\"sig-name descname\">--</span><span class=\"sig-prename descclassname\"> ARGUMENTS</span><a class=\"heading-anchor\" href=\"#cmdoption-dbshell-0\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\">--</code> 分界线后的任何参数都会被传递给底层的命令行客户端。例如，对于 PostgreSQL，你可以使用 <code class=\"docutils literal notranslate\">psql</code> 命令的 <code class=\"docutils literal notranslate\">-c</code> 标志直接执行一个原始 SQL 查询：</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-7-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>django-admin dbshell -- -c <span class=\"s1\">&#39;select current_user&#39;</span>\n<span class=\"go\"> current_user</span>\n<span class=\"go\">--------------</span>\n<span class=\"go\"> postgres</span>\n<span class=\"gp gp-VirtualEnv\">(1 row)</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-7-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> django-admin dbshell -- -c &#39;select current_user&#39;\n<span class=\"go\"> current_user</span>\n<span class=\"go\">--------------</span>\n<span class=\"go\"> postgres</span>\n<span class=\"gp gp-VirtualEnv\">(1 row)</span>\n</code></pre></div></div></div>\n<p>在 MySQL／MariaDB 上，你可以用 <code class=\"docutils literal notranslate\">mysql</code> 命令的 <code class=\"docutils literal notranslate\">-e</code> 标志来实现：</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-8-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>django-admin dbshell -- -e <span class=\"s2\">&quot;select user()&quot;</span>\n<span class=\"go\">+----------------------+</span>\n<span class=\"go\">| user()               |</span>\n<span class=\"go\">+----------------------+</span>\n<span class=\"go\">| djangonaut@localhost |</span>\n<span class=\"go\">+----------------------+</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-8-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> django-admin dbshell -- -e <span class=\"s2\">&quot;select user()&quot;</span>\n<span class=\"go\">+----------------------+</span>\n<span class=\"go\">| user()               |</span>\n<span class=\"go\">+----------------------+</span>\n<span class=\"go\">| djangonaut@localhost |</span>\n<span class=\"go\">+----------------------+</span>\n</code></pre></div></div></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>要注意的是，在数据库配置的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-OPTIONS\"><code class=\"xref std std-setting docutils literal notranslate\">OPTIONS</code></a> 部分的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\">DATABASES</code></a> 中，并不是所有的选项都会传递给命令行客户端，例如 <code class=\"docutils literal notranslate\">'isolation_level'</code>。</p>\n</aside>\n</section>\n<section id=\"diffsettings\">\n<h3><code class=\"docutils literal notranslate\">diffsettings</code><a class=\"heading-anchor\" href=\"#diffsettings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-diffsettings\">\n<span class=\"sig-name descname\">django-admin diffsettings</span><a class=\"heading-anchor\" href=\"#django-admin-diffsettings\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>显示当前设置文件与 Django 默认配置（或由 <a class=\"reference internal\" href=\"#cmdoption-diffsettings-default\"><code class=\"xref std std-option docutils literal notranslate\">--default</code></a> 指定的其他配置文件）之间的差异。</p>\n<p>默认配置中没有出现的配置，后面都是 <code class=\"docutils literal notranslate\">&quot;##&quot;</code>。例如，默认配置没有定义 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-ROOT_URLCONF\"><code class=\"xref std std-setting docutils literal notranslate\">ROOT_URLCONF</code></a>，所以 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-ROOT_URLCONF\"><code class=\"xref std std-setting docutils literal notranslate\">ROOT_URLCONF</code></a> 在 <code class=\"docutils literal notranslate\">diffsettings</code> 的输出中，后面跟了 <code class=\"docutils literal notranslate\">&quot;##&quot;</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-diffsettings-all\">\n<span class=\"sig-name descname\">--all</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-diffsettings-all\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>显示所有的配置，即使它们有 Django 的默认值。这些配置的前缀是 <code class=\"docutils literal notranslate\">&quot;##&quot;</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-diffsettings-default\">\n<span class=\"sig-name descname\">--default</span><span class=\"sig-prename descclassname\"> MODULE</span><a class=\"heading-anchor\" href=\"#cmdoption-diffsettings-default\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>要与当前配置进行比较的配置模块。留空以便与 Django 的默认配置进行比较。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-diffsettings-output\">\n<span class=\"sig-name descname\">--output</span><span class=\"sig-prename descclassname\"> {hash,unified}</span><a class=\"heading-anchor\" href=\"#cmdoption-diffsettings-output\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定输出格式。可用值是 <code class=\"docutils literal notranslate\">hash</code> 和 <code class=\"docutils literal notranslate\">unified</code>。<code class=\"docutils literal notranslate\">hash</code> 是默认模式，显示上述的输出。<code class=\"docutils literal notranslate\">unified</code> 显示的输出类似于 <code class=\"docutils literal notranslate\">diff -u</code>。缺省配置的前面是减号，后面是改变后的配置，前面是加号。</p>\n</section>\n<section id=\"dumpdata\">\n<h3><code class=\"docutils literal notranslate\">dumpdata</code><a class=\"heading-anchor\" href=\"#dumpdata\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-dumpdata\">\n<span class=\"sig-name descname\">django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-dumpdata\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>将数据库中与指定应用程序相关联的所有数据输出到标准输出。</p>\n<p>如果没有提供应用程序名称，所有安装的应用程序将被转储。</p>\n<p><code class=\"docutils literal notranslate\">dumpdata</code> 的输出可以作为 <a class=\"reference internal\" href=\"#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\">loaddata</code></a> 的输入。</p>\n<p>当 <code class=\"docutils literal notranslate\">dumpdata</code> 的结果被保存为一个文件时，它可以作为 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/db/fixtures/#fixtures-explanation\"><span class=\"std std-ref\">fixture</span></a> 用于 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/tools/#topics-testing-fixtures\"><span class=\"std std-ref\">tests</span></a> 或作为 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/initial-data/#initial-data-via-fixtures\"><span class=\"std std-ref\">initial data</span></a>。</p>\n<p>注意 <code class=\"docutils literal notranslate\">dumpdata</code> 使用模型上的默认管理器来选择要转储的记录。如果你使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/db/managers/#custom-managers\"><span class=\"std std-ref\">自定义管理器</span></a> 作为默认管理器，并且它过滤了一些可用的记录，那么并非所有的对象都会被转储。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-all\">\n<span id=\"cmdoption-dumpdata-a\"></span><span class=\"sig-name descname\">--all</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-a</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-all\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>使用 Django 的基础管理器，转储那些可能被自定义管理器过滤或修改的记录。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-format\">\n<span class=\"sig-name descname\">--format</span><span class=\"sig-prename descclassname\"> FORMAT</span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-format\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定输出的序列化格式。默认为 JSON。支持的格式在 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/serialization/#serialization-formats\"><span class=\"std std-ref\">序列化格式</span></a> 中列出。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-indent\">\n<span class=\"sig-name descname\">--indent</span><span class=\"sig-prename descclassname\"> INDENT</span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-indent\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定输出中使用的缩进空格数。默认值为 <code class=\"docutils literal notranslate\">None</code>，在单行上显示所有数据。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-exclude\">\n<span id=\"cmdoption-dumpdata-e\"></span><span class=\"sig-name descname\">--exclude</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-e</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>防止特定的应用程序或模型（以 <code class=\"docutils literal notranslate\">app_label.ModelName</code> 的形式指定）被转储。如果你指定一个模型名称，那么只有该模型将被排除，而不是整个应用程序。你也可以混合应用程序名称和模型名称。</p>\n<p>如果要排除多个应用程序，请多次传递 <code class=\"docutils literal notranslate\">--exclude</code> 参数：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin dumpdata --exclude=auth --exclude=contenttypes</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定转储数据的数据库。默认值为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-natural-foreign\">\n<span class=\"sig-name descname\">--natural-foreign</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-natural-foreign\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>使用 <code class=\"docutils literal notranslate\">natural_key()</code> 模型方法将任何外键和多对多关系序列化到定义该方法的类型的对象。 请参阅 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/serialization/#topics-serialization-natural-keys\"><span class=\"std std-ref\">自然键</span></a> 文档，了解更多关于这个和下一个选项的细节。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-natural-primary\">\n<span class=\"sig-name descname\">--natural-primary</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-natural-primary\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>省略该对象序列化数据中的主键，因为它可以在反序列化过程中计算。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-pks\">\n<span class=\"sig-name descname\">--pks</span><span class=\"sig-prename descclassname\"> PRIMARY_KEYS</span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-pks\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>只输出由逗号分隔的主键列表指定的对象。这仅在转储一个模型时可用。默认情况下，输出模型的所有记录。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-dumpdata-output\">\n<span id=\"cmdoption-dumpdata-o\"></span><span class=\"sig-name descname\">--output</span><span class=\"sig-prename descclassname\"> OUTPUT</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-o</span><span class=\"sig-prename descclassname\"> OUTPUT</span><a class=\"heading-anchor\" href=\"#cmdoption-dumpdata-output\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要将序列化数据写入的文件。默认情况下，数据将被写入标准输出。</p>\n<p>当设置了这个选项，并且 <code class=\"docutils literal notranslate\">--verbosity</code> 大于 0（默认值）时，终端会显示一个进度条。</p>\n<section id=\"fixtures-compression\">\n<h4>固定数据压缩<a class=\"heading-anchor\" href=\"#fixtures-compression\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>输出文件可以使用 <code class=\"docutils literal notranslate\">bz2</code>、<code class=\"docutils literal notranslate\">gz</code>、<code class=\"docutils literal notranslate\">lzma</code> 或 <code class=\"docutils literal notranslate\">xz</code> 格式之一进行压缩，只需在文件名末尾添加相应的扩展名即可。例如，要将数据输出为压缩的 JSON 文件：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin dumpdata -o mydata.json.gz</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"flush\">\n<h3><code class=\"docutils literal notranslate\">flush</code><a class=\"heading-anchor\" href=\"#flush\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-flush\">\n<span class=\"sig-name descname\">django-admin flush</span><a class=\"heading-anchor\" href=\"#django-admin-flush\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>从数据库中删除所有数据，并重新执行任何同步后处理程序。已应用迁移的表不会被清除。</p>\n<p>如果你更愿意从一个空的数据库开始，并重新运行所有迁移，你应该删除并重新创建数据库，然后运行 <a class=\"reference internal\" href=\"#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">migrate</code></a>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-flush-noinput\">\n<span id=\"cmdoption-flush-no-input\"></span><span class=\"sig-name descname\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-flush-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁止所有的用户提示。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-flush-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-flush-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要刷新的数据库。默认为 <code class=\"docutils literal notranslate\">default</code>。</p>\n</section>\n<section id=\"inspectdb\">\n<h3><code class=\"docutils literal notranslate\">inspectdb</code><a class=\"heading-anchor\" href=\"#inspectdb\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-inspectdb\">\n<span class=\"sig-name descname\">django-admin inspectdb [table [table ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-inspectdb\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>对 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-NAME\"><code class=\"xref std std-setting docutils literal notranslate\">NAME</code></a> 配置指向的数据库中的数据库表进行检查，并将一个 Django 模型模块（<code class=\"docutils literal notranslate\">models.py</code> 文件）输出到标准输出。</p>\n<p>你可以通过传递表或视图的名称作为参数来选择要检查的表或视图。如果没有提供参数，只有在使用 <a class=\"reference internal\" href=\"#cmdoption-inspectdb-include-views\"><code class=\"xref std std-option docutils literal notranslate\">--include-views</code></a> 选项时，才会为视图创建模型。如果使用了 <a class=\"reference internal\" href=\"#cmdoption-inspectdb-include-partitions\"><code class=\"xref std std-option docutils literal notranslate\">--include-partitions</code></a> 选项，则会在 PostgreSQL 上为分区表创建模型。</p>\n<p>如果你有一个遗留的数据库，并且你想使用 Django，那么就使用这个脚本。脚本将检查数据库，并为其中的每个表创建一个模型。</p>\n<p>正如你所期望的那样，创建的模型将为表中的每个字段提供一个属性。请注意，<code class=\"docutils literal notranslate\">inspectdb</code> 在其字段名输出中有一些特殊情况：</p>\n<ul class=\"simple\">\n<li><p>如果 <code class=\"docutils literal notranslate\">inspectdb</code> 不能将列的类型映射到模型字段类型，它将使用 <code class=\"docutils literal notranslate\">TextField</code>，并在生成的模型中的字段旁边插入 Python 注释 <code class=\"docutils literal notranslate\">'This field type is a guess.'</code>。识别的字段可能取决于 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> 中列出的应用程序。例如，<a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/postgres/#module-django.contrib.postgres\" title=\"django.contrib.postgres: PostgreSQL-specific fields and features\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.postgres</code></a> 增加了对几个 PostgreSQL 特定字段类型的识别。</p></li>\n<li><p>如果数据库列名是 Python 的保留字（如 <code class=\"docutils literal notranslate\">'pass'</code>、<code class=\"docutils literal notranslate\">'class'</code> 或 <code class=\"docutils literal notranslate\">'for'</code>），<code class=\"docutils literal notranslate\">inspectdb</code> 将在属性名后面附加 <code class=\"docutils literal notranslate\">'_field'</code>。例如，如果一个表有一列 <code class=\"docutils literal notranslate\">'for'</code>，生成的模型将有一个字段 <code class=\"docutils literal notranslate\">'for_field'</code>，<code class=\"docutils literal notranslate\">db_column</code> 属性设置为 <code class=\"docutils literal notranslate\">'for'</code>。<code class=\"docutils literal notranslate\">inspectdb</code> 将在字段旁边插入 Python 注释 <code class=\"docutils literal notranslate\">'Field renamed because it was a Python reserved word.'</code>。</p></li>\n</ul>\n<p>这个功能是作为一个快捷方式，而不是作为明确的模型生成。在你运行它之后，你将希望自己查看生成的模型以进行自定义。特别是，你需要重新安排模型的顺序，使引用其他模型的模型正确排序。</p>\n<p>当在模型字段上指定了 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/models/fields/#django.db.models.Field.default\" title=\"django.db.models.Field.default\"><code class=\"xref py py-attr docutils literal notranslate\">default</code></a> 时，Django 不会创建数据库默认值。同样，数据库默认值也不会转化为模型字段默认值，也不会被 <code class=\"docutils literal notranslate\">inspectdb</code> 以任何方式检测到。</p>\n<p>默认情况下，<code class=\"docutils literal notranslate\">inspectdb</code> 创建的是未管理的模型。也就是说，模型的 <code class=\"docutils literal notranslate\">Meta</code> 类中的 <code class=\"docutils literal notranslate\">managed = False</code> 告诉 Django 不要管理每个表的创建、修改和删除。如果你确实想让 Django 管理表的生命周期，你需要将 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/models/options/#django.db.models.Options.managed\" title=\"django.db.models.Options.managed\"><code class=\"xref py py-attr docutils literal notranslate\">managed</code></a> 选项改为 <code class=\"docutils literal notranslate\">True</code> （或者将其删除，因为 <code class=\"docutils literal notranslate\">True</code> 是其默认值）。</p>\n<section id=\"database-specific-notes\">\n<h4>特定于数据库的注释<a class=\"heading-anchor\" href=\"#database-specific-notes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<section id=\"oracle\">\n<h5>Oracle<a class=\"heading-anchor\" href=\"#oracle\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<ul class=\"simple\">\n<li><p>如果使用 <code class=\"xref std std-option docutils literal notranslate\">--includ-views</code>，则会为物化视图创建模型。</p></li>\n</ul>\n</section>\n<section id=\"postgresql\">\n<h5>PostgreSQL<a class=\"heading-anchor\" href=\"#postgresql\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<ul class=\"simple\">\n<li><p>为外部表创建模型。</p></li>\n<li><p>如果使用 <code class=\"xref std std-option docutils literal notranslate\">--includ-views</code>，则会为物化视图创建模型。</p></li>\n<li><p>如果使用 <a class=\"reference internal\" href=\"#cmdoption-inspectdb-include-partitions\"><code class=\"xref std std-option docutils literal notranslate\">--include-partitions</code></a>，则为分区表创建模型。</p></li>\n</ul>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-inspectdb-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-inspectdb-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要检查的数据库。默认为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-inspectdb-include-partitions\">\n<span class=\"sig-name descname\">--include-partitions</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-inspectdb-include-partitions\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>如果提供了这个选项，也会为分区创建模型。</p>\n<p>只实现了对 PostgreSQL 的支持。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-inspectdb-include-views\">\n<span class=\"sig-name descname\">--include-views</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-inspectdb-include-views\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>如果提供了这个选项，也会为数据库视图创建模型。</p>\n</section>\n</section>\n</section>\n<section id=\"loaddata\">\n<h3><code class=\"docutils literal notranslate\">loaddata</code><a class=\"heading-anchor\" href=\"#loaddata\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-loaddata\">\n<span class=\"sig-name descname\">django-admin loaddata fixture [fixture ...]</span><a class=\"heading-anchor\" href=\"#django-admin-loaddata\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>搜索并加载指定名称的 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/db/fixtures/#fixtures-explanation\"><span class=\"std std-ref\">fixture</span></a> 内容到数据库中。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-loaddata-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-loaddata-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定数据将被载入的数据库。默认值为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-loaddata-ignorenonexistent\">\n<span id=\"cmdoption-loaddata-i\"></span><span class=\"sig-name descname\">--ignorenonexistent</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-i</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-loaddata-ignorenonexistent\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>忽略自固定数据最初生成以来可能已经被删除的字段和模型。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-loaddata-app\">\n<span class=\"sig-name descname\">--app</span><span class=\"sig-prename descclassname\"> APP_LABEL</span><a class=\"heading-anchor\" href=\"#cmdoption-loaddata-app\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定一个单一的应用来寻找固定数据，而不是在所有的应用程序中寻找。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-loaddata-format\">\n<span class=\"sig-name descname\">--format</span><span class=\"sig-prename descclassname\"> FORMAT</span><a class=\"heading-anchor\" href=\"#cmdoption-loaddata-format\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>为 <a class=\"reference internal\" href=\"#loading-fixtures-stdin\"><span class=\"std std-ref\">从标准输入中读取</span></a> 的固定数据指定 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/serialization/#serialization-formats\"><span class=\"std std-ref\">序列化格式</span></a> （例如，<code class=\"docutils literal notranslate\">json</code> 或 <code class=\"docutils literal notranslate\">xml</code>）。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-loaddata-exclude\">\n<span id=\"cmdoption-loaddata-e\"></span><span class=\"sig-name descname\">--exclude</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-e</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><a class=\"heading-anchor\" href=\"#cmdoption-loaddata-exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>排除从给定的应用程序和／或模型加载固定数据（以 <code class=\"docutils literal notranslate\">app_label</code> 或 <code class=\"docutils literal notranslate\">app_label.ModelName</code> 的形式）。多次使用该选项以排除一个以上的应用程序或模型。</p>\n<section id=\"loading-fixtures-from-stdin\">\n<span id=\"loading-fixtures-stdin\"></span><h4>从 <code class=\"docutils literal notranslate\">stdin</code> 加载固定数据<a class=\"heading-anchor\" href=\"#loading-fixtures-from-stdin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>你可以使用短横线作为 fixture 名称来加载来自 <code class=\"docutils literal notranslate\">sys.stdin</code> 的输入。例如：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin loaddata --format=json -</span>\n</code></pre></div>\n<p>当从 <code class=\"docutils literal notranslate\">stdin</code> 读取时，需要使用 <a class=\"reference internal\" href=\"#cmdoption-loaddata-format\"><code class=\"xref std std-option docutils literal notranslate\">--format</code></a> 选项来指定输入的 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/serialization/#serialization-formats\"><span class=\"std std-ref\">序列化格式</span></a> （例如 <code class=\"docutils literal notranslate\">json</code> 或 <code class=\"docutils literal notranslate\">xml</code>）。</p>\n<p>从 <code class=\"docutils literal notranslate\">stdin</code> 加载在标准输入和输出重定向时非常有用。例如：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin dumpdata --format=json --database=test app_label.ModelName | django-admin loaddata --format=json --database=prod -</span>\n</code></pre></div>\n<p><a class=\"reference internal\" href=\"#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\">dumpdata</code></a> 命令可以用来生成 <code class=\"docutils literal notranslate\">loaddata</code> 的输入。</p>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">See also</p>\n<p>有关 fixture 的更多详细信息，请参阅 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/db/fixtures/#fixtures-explanation\"><span class=\"std std-ref\">辅助工具</span></a> 主题。</p>\n</aside>\n</section>\n</section>\n<section id=\"makemessages\">\n<h3><code class=\"docutils literal notranslate\">makemessages</code><a class=\"heading-anchor\" href=\"#makemessages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-makemessages\">\n<span class=\"sig-name descname\">django-admin makemessages</span><a class=\"heading-anchor\" href=\"#django-admin-makemessages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>遍历当前目录下的整个源码树，并提取所有标记为翻译的字符串，并在 conf/locale（在 Django 树中）或 locale（对于项目和应用程序）目录下创建（或更新）一个消息文件。在对消息文件进行修改后，你需要使用 <a class=\"reference internal\" href=\"#django-admin-compilemessages\"><code class=\"xref std std-djadmin docutils literal notranslate\">compilemessages</code></a> 来编译它们，以便使用内置的 gettext 支持。详情请看 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/i18n/translation/#how-to-create-language-files\"><span class=\"std std-ref\">i18n 文档</span></a>。</p>\n<p>该命令不需要设置配置。但是，当配置没有设置时，命令不能忽略 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_ROOT</code></a> 和 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a> 目录，也不能包含 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-LOCALE_PATHS\"><code class=\"xref std std-setting docutils literal notranslate\">LOCALE_PATHS</code></a>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-all\">\n<span id=\"cmdoption-makemessages-a\"></span><span class=\"sig-name descname\">--all</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-a</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-all\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>更新所有可用语言的消息文件。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-extension\">\n<span id=\"cmdoption-makemessages-e\"></span><span class=\"sig-name descname\">--extension</span><span class=\"sig-prename descclassname\"> EXTENSIONS</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-e</span><span class=\"sig-prename descclassname\"> EXTENSIONS</span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-extension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要检查的文件扩展名列表（默认：<code class=\"docutils literal notranslate\">html</code>、<code class=\"docutils literal notranslate\">txt</code>、<code class=\"docutils literal notranslate\">py</code> 或 <code class=\"docutils literal notranslate\">js</code> 如果 <a class=\"reference internal\" href=\"#cmdoption-makemessages-domain\"><code class=\"xref std std-option docutils literal notranslate\">--domain</code></a> 是 <code class=\"docutils literal notranslate\">js</code>）。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin makemessages --locale=de --extension xhtml</span>\n</code></pre></div>\n<p>用逗号分隔多个扩展名或多次使用 <code class=\"docutils literal notranslate\">-e</code> 或 <code class=\"docutils literal notranslate\">--extension</code> 参数：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin makemessages --locale=de --extension=html,txt --extension xml</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-locale\">\n<span id=\"cmdoption-makemessages-l\"></span><span class=\"sig-name descname\">--locale</span><span class=\"sig-prename descclassname\"> LOCALE</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-l</span><span class=\"sig-prename descclassname\"> LOCALE</span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-locale\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要处理的 locale。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-exclude\">\n<span id=\"cmdoption-makemessages-x\"></span><span class=\"sig-name descname\">--exclude</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-x</span><span class=\"sig-prename descclassname\"> EXCLUDE</span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要从处理中排除的 locale。如果没有提供，则不排除任何 locale。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin makemessages --locale=pt_BR</span>\n<span class=\"go\">django-admin makemessages --locale=pt_BR --locale=fr</span>\n<span class=\"go\">django-admin makemessages -l pt_BR</span>\n<span class=\"go\">django-admin makemessages -l pt_BR -l fr</span>\n<span class=\"go\">django-admin makemessages --exclude=pt_BR</span>\n<span class=\"go\">django-admin makemessages --exclude=pt_BR --exclude=fr</span>\n<span class=\"go\">django-admin makemessages -x pt_BR</span>\n<span class=\"go\">django-admin makemessages -x pt_BR -x fr</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-domain\">\n<span id=\"cmdoption-makemessages-d\"></span><span class=\"sig-name descname\">--domain</span><span class=\"sig-prename descclassname\"> DOMAIN</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-d</span><span class=\"sig-prename descclassname\"> DOMAIN</span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-domain\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定消息文件的域。支持的选项有：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">django</code> 适用于所有 <code class=\"docutils literal notranslate\">*.py</code>、<code class=\"docutils literal notranslate\">*.html</code> 和 <code class=\"docutils literal notranslate\">*.txt</code> 文件（默认）</p></li>\n<li><p><code class=\"docutils literal notranslate\">djangojs</code> 适用于 <code class=\"docutils literal notranslate\">*.js</code> 文件</p></li>\n</ul>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-symlinks\">\n<span id=\"cmdoption-makemessages-s\"></span><span class=\"sig-name descname\">--symlinks</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-s</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-symlinks\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在寻找新的翻译字符串时，跟踪指向目录的符号链接。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin makemessages --locale=de --symlinks</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-ignore\">\n<span id=\"cmdoption-makemessages-i\"></span><span class=\"sig-name descname\">--ignore</span><span class=\"sig-prename descclassname\"> PATTERN</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-i</span><span class=\"sig-prename descclassname\"> PATTERN</span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-ignore\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>忽略与给定的 <a class=\"reference external\" href=\"https://docs.python.org/3/library/glob.html#module-glob\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\">glob</code></a> 风格模式匹配的文件或目录。多次使用可以忽略更多的文件或目录。</p>\n<p>这些模式默认使用：<code class=\"docutils literal notranslate\">'CVS'</code>、<code class=\"docutils literal notranslate\">'.*'</code>、<code class=\"docutils literal notranslate\">'*~'</code>、<code class=\"docutils literal notranslate\">'*.pyc'</code>。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin makemessages --locale=en_US --ignore=apps/* --ignore=secret/*.html</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-no-default-ignore\">\n<span class=\"sig-name descname\">--no-default-ignore</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-no-default-ignore\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁用 <code class=\"docutils literal notranslate\">--ignore</code> 的默认值。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-no-wrap\">\n<span class=\"sig-name descname\">--no-wrap</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-no-wrap\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁用将语言文件中的长消息行分成几行。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-no-location\">\n<span class=\"sig-name descname\">--no-location</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-no-location\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁止在语言文件中写 '<code class=\"docutils literal notranslate\">#: filename:line</code>' 注释行。使用该选项会使技术熟练的译者更难理解每条消息的上下文。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-add-location\">\n<span class=\"sig-name descname\">--add-location</span><span class=\"sig-prename descclassname\"> [{full,file,never}]</span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-add-location\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>控制语言文件中的 <code class=\"docutils literal notranslate\">#: filename:line</code> 注释行。如果该选项是：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">full</code> （如果没有给出，则为默认值）：行中包括文件名和行号。</p></li>\n<li><p><code class=\"docutils literal notranslate\">file</code> ：省略行号。</p></li>\n<li><p><code class=\"docutils literal notranslate\">never</code> ：压制行数（与 <a class=\"reference internal\" href=\"#cmdoption-makemessages-no-location\"><code class=\"xref std std-option docutils literal notranslate\">--no-location</code></a> 相同）。</p></li>\n</ul>\n<p>需要 <code class=\"docutils literal notranslate\">gettext</code> 0.19 或更新版本。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemessages-keep-pot\">\n<span class=\"sig-name descname\">--keep-pot</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemessages-keep-pot\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>防止删除在创建 <code class=\"docutils literal notranslate\">.po</code> 文件之前生成的临时 <code class=\"docutils literal notranslate\">.pot</code> 文件。这对调试可能妨碍最终语言文件创建的错误很有用。</p>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">See also</p>\n<p>关于如何自定义 <a class=\"reference internal\" href=\"#django-admin-makemessages\"><code class=\"xref std std-djadmin docutils literal notranslate\">makemessages</code></a> 传递给 <code class=\"docutils literal notranslate\">xgettext</code> 的关键字，请参见 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/i18n/translation/#customizing-makemessages\"><span class=\"std std-ref\">自定义 makemessages 命令</span></a> 的说明。</p>\n</aside>\n</section>\n<section id=\"makemigrations\">\n<h3><code class=\"docutils literal notranslate\">makemigrations</code><a class=\"heading-anchor\" href=\"#makemigrations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-makemigrations\">\n<span class=\"sig-name descname\">django-admin makemigrations [app_label [app_label ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-makemigrations\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>根据检测到的模型变化创建新的迁移。迁移，它们与应用程序的关系以及更多的内容在 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/migrations/\"><span class=\"doc\">迁移文档</span></a> 中深入介绍。</p>\n<p>提供一个或多个应用名称作为参数，将把创建的迁移限制在指定的应用和任何所需的依赖关系上（例如，<code class=\"docutils literal notranslate\">ForeignKey</code> 的另一端的表）。</p>\n<p>要将迁移添加到没有 <code class=\"docutils literal notranslate\">migrations</code> 目录的应用中，运行 <code class=\"docutils literal notranslate\">makemigrations</code>，并使用应用的 <code class=\"docutils literal notranslate\">app_label</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-noinput\">\n<span id=\"cmdoption-makemigrations-no-input\"></span><span class=\"sig-name descname\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>压制所有用户提示。如果不能自动解决被抑制的提示，命令将以 error code 3 退出。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-empty\">\n<span class=\"sig-name descname\">--empty</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-empty\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>为指定的应用程序输出一个空的迁移，用于手动编辑。这是为高级用户准备的，除非你熟悉迁移格式、迁移操作和迁移之间的依赖关系，否则不应使用。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-dry-run\">\n<span class=\"sig-name descname\">--dry-run</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-dry-run\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>显示在不向磁盘写入任何迁移文件的情况下进行的迁移。使用这个选项和 <code class=\"docutils literal notranslate\">--verbosity 3</code> 也会显示将被写入的完整迁移文件。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-merge\">\n<span class=\"sig-name descname\">--merge</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-merge\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>可以解决迁移冲突。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-name\">\n<span id=\"cmdoption-makemigrations-n\"></span><span class=\"sig-name descname\">--name</span><span class=\"sig-prename descclassname\"> NAME</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-n</span><span class=\"sig-prename descclassname\"> NAME</span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>允许对生成的迁移进行命名，而不是使用生成的名称。名称必须是有效的 Python <a class=\"reference external\" href=\"https://docs.python.org/3/reference/lexical_analysis.html#identifiers\" title=\"(in Python v3.14)\"><span class=\"xref std std-ref\">标识符</span></a>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-no-header\">\n<span class=\"sig-name descname\">--no-header</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-no-header\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>生成没有 Django 版本和时间戳头的迁移文件。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-check\">\n<span class=\"sig-name descname\">--check</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-check\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在检测到模型更改而没有迁移时，使 <code class=\"docutils literal notranslate\">makemigrations</code> 以非零状态退出。意味着 <code class=\"docutils literal notranslate\">--dry-run</code>。</p>\n<aside class=\"version-note version-changed\" data-version=\"4.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 4.2</p><p>在较旧的版本中，在使用 <code class=\"docutils literal notranslate\">--check</code> 选项时也会创建缺失的迁移。</p>\n</aside>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-scriptable\">\n<span class=\"sig-name descname\">--scriptable</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-scriptable\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-added\" data-version=\"4.1\" role=\"note\">\n<p class=\"version-note-title\">New in Django 4.1</p></aside>\n<p>将日志输出和输入提示重定向到 <code class=\"docutils literal notranslate\">stderr</code>，仅将生成的迁移文件的路径写入 <code class=\"docutils literal notranslate\">stdout</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-makemigrations-update\">\n<span class=\"sig-name descname\">--update</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-makemigrations-update\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-added\" data-version=\"4.2\" role=\"note\">\n<p class=\"version-note-title\">New in Django 4.2</p></aside>\n<p>将模型更改合并到最新的迁移中，并优化生成的操作。</p>\n<p>更新后的迁移将具有生成的名称。为了保留先前的名称，请使用 <code class=\"docutils literal notranslate\">--name</code> 进行设置。</p>\n</section>\n<section id=\"migrate\">\n<h3><code class=\"docutils literal notranslate\">migrate</code><a class=\"heading-anchor\" href=\"#migrate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-migrate\">\n<span class=\"sig-name descname\">django-admin migrate [app_label] [migration_name]</span><a class=\"heading-anchor\" href=\"#django-admin-migrate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>将数据库状态与当前的模型集和迁移同步。在 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/migrations/\"><span class=\"doc\">迁移文档</span></a> 中深入介绍了迁移，它们与应用的关系等。</p>\n<p>该命令的行为根据提供的参数而改变：</p>\n<ul class=\"simple\">\n<li><p>没有参数：运行所有的应用程序的所有迁移。</p></li>\n<li><p><code class=\"docutils literal notranslate\">&lt;app_label&gt;</code> ：指定的应用程序将运行其迁移，直至其最近的迁移。由于依赖关系，这可能涉及到运行其他应用的迁移。</p></li>\n<li><p><code class=\"docutils literal notranslate\">&lt;app_label&gt; &lt;migrationname&gt;</code>: 将数据库模式调整到适用指定迁移的状态，但不适用同一应用程序中后来的迁移。如果你之前已经迁移过命名的迁移，这可能涉及到取消应用迁移。你可以使用迁移名称的前缀，例如 <code class=\"docutils literal notranslate\">0001</code>，只要它对给定的应用程序名称是唯一的。使用名称 <code class=\"docutils literal notranslate\">zero</code> 来回溯所有的迁移，即恢复一个应用的所有已应用迁移。</p></li>\n</ul>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>当取消应用迁移时，所有依赖的迁移也将被取消应用，无论 <code class=\"docutils literal notranslate\">&lt;app_label&gt;</code>。你可以使用 <code class=\"docutils literal notranslate\">--plan</code> 来检查哪些迁移将被取消应用。</p>\n</aside>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要迁移的数据库。默认值为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-fake\">\n<span class=\"sig-name descname\">--fake</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-fake\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>标记目标的迁移（按照上面的规则）已应用，但没有实际运行 SQL 来改变你的数据库架构。</p>\n<p>这是为高级用户准备的，如果他们要手动应用更改，可以直接操作当前的迁移状态；要注意的是，使用 <code class=\"docutils literal notranslate\">--fake</code> 会有将迁移状态表置于需要手动恢复才能使迁移正确运行的状态的风险。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-fake-initial\">\n<span class=\"sig-name descname\">--fake-initial</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-fake-initial\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>允许 Django 在迁移中所有 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/migration-operations/#django.db.migrations.operations.CreateModel\" title=\"django.db.migrations.operations.CreateModel\"><code class=\"xref py py-class docutils literal notranslate\">CreateModel</code></a> 操作创建的所有模型名称的数据库表已经存在的情况下，跳过应用的初始迁移。这个选项是为了在第一次针对一个在使用 migrations 之前就存在的数据库运行迁移时使用。但是，除了匹配表名之外，这个选项并不检查数据库架构是否匹配，因此只有当你确信你现有的架构与初始迁移中记录的内容相匹配时，才可以安全使用。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-plan\">\n<span class=\"sig-name descname\">--plan</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-plan\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>显示对给定的 <code class=\"docutils literal notranslate\">migrate</code> 命令将进行的迁移操作。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-run-syncdb\">\n<span class=\"sig-name descname\">--run-syncdb</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-run-syncdb\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>允许在没有迁移的情况下为应用创建表。虽然不推荐这样做，但在有数百个模型的大型项目中，迁移框架有时太慢。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-noinput\">\n<span id=\"cmdoption-migrate-no-input\"></span><span class=\"sig-name descname\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>压制所有用户提示。一个例子是询问有关删除陈旧内容类型的提示。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-check\">\n<span class=\"sig-name descname\">--check</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-check\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>当检测到未应用的迁移时，使 <code class=\"docutils literal notranslate\">migrate</code> 以非零状态退出。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-migrate-prune\">\n<span class=\"sig-name descname\">--prune</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-migrate-prune\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-added\" data-version=\"4.1\" role=\"note\">\n<p class=\"version-note-title\">New in Django 4.1</p></aside>\n<p>从 <code class=\"docutils literal notranslate\">django_migrations</code> 表中删除不存在的迁移。当迁移文件被压缩迁移替代后已被删除时，这是有用的。请参阅 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/migrations/#migration-squashing\"><span class=\"std std-ref\">压缩迁移</span></a> 以获取更多详细信息。</p>\n</section>\n<section id=\"optimizemigration\">\n<h3><code class=\"docutils literal notranslate\">optimizemigration</code><a class=\"heading-anchor\" href=\"#optimizemigration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"version-note version-added\" data-version=\"4.1\" role=\"note\">\n<p class=\"version-note-title\">New in Django 4.1</p></aside>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-optimizemigration\">\n<span class=\"sig-name descname\">django-admin optimizemigration app_label migration_name</span><a class=\"heading-anchor\" href=\"#django-admin-optimizemigration\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>优化指定迁移的操作并覆盖现有文件。如果迁移包含必须手动复制的函数，该命令会创建一个新的迁移文件，后缀为 <code class=\"docutils literal notranslate\">_optimized</code>，旨在替代指定的迁移。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-optimizemigration-check\">\n<span class=\"sig-name descname\">--check</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-optimizemigration-check\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>当迁移可以优化时，使 <code class=\"docutils literal notranslate\">optimizemigration</code> 以非零状态退出。</p>\n</section>\n<section id=\"runserver\">\n<h3><code class=\"docutils literal notranslate\">runserver</code><a class=\"heading-anchor\" href=\"#runserver\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-runserver\">\n<span class=\"sig-name descname\">django-admin runserver [addrport]</span><a class=\"heading-anchor\" href=\"#django-admin-runserver\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在本地机器上启动一个轻量级的开发网络服务器。默认情况下，该服务器在 IP 地址 127.0.0.1 的 8000 端口上运行。你可以明确地传递一个 IP 地址和端口号。</p>\n<p>如果你以普通用户的身份运行这个脚本 (推荐)， 你可能无法在低端口号上启动一个端口。低端口号是为超级用户（root）保留的。</p>\n<p>本服务器使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-WSGI_APPLICATION\"><code class=\"xref std std-setting docutils literal notranslate\">WSGI_APPLICATION</code></a> 配置中指定的 WSGI 应用对象。</p>\n<p><strong>请勿在生产环境中使用本服务器</strong>。它没有经过安全审计或性能测试。（这也是它将会一直存在的原因。我们的业务是制作网络框架，而不是网络服务器，所以改进这个服务器使其能够处理生产环境不在 Django 的范围之内。)</p>\n<p>开发服务器会根据需要为每个请求自动重新加载 Python 代码。你不需要重新启动服务器以使代码更改生效。然而，有些操作，如添加文件不会触发重启，所以在这些情况下你必须重启服务器。</p>\n<p>如果你在 Linux 或 MacOS 上安装了 <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/pywatchman/\">pywatchman</a> 和 <a class=\"reference external\" href=\"https://facebook.github.io/watchman/\">Watchman</a> 服务，那么将使用内核信号来自动重新加载服务器（而不是每秒轮询文件修改时间戳）。这在大型项目上提供了更好的性能，在代码更改后减少了响应时间，更强大的更改检测以及减少了电力消耗。Django 支持 <code class=\"docutils literal notranslate\">pywatchman</code> 1.2.0 及更高版本。</p>\n<aside class=\"admonition-large-directories-with-many-files-may-cause-performance-issues admonition\" role=\"note\">\n<p class=\"admonition-title\">有许多文件的大目录可能会导致性能问题。</p>\n<p>当使用 Watchman 时，如果项目中包含大的非 Python 目录，比如 <code class=\"docutils literal notranslate\">node_modules</code>，建议忽略这个目录以获得最佳性能。关于如何做到这一点，请参见 <a class=\"reference external\" href=\"https://facebook.github.io/watchman/docs/config#ignore_dirs\">watchman文档</a> 。</p>\n</aside>\n<aside class=\"admonition-watchman-timeout admonition\" role=\"note\">\n<p class=\"admonition-title\">Watchman 超时</p>\n<dl class=\"std envvar\">\n<dt class=\"sig sig-object std\" id=\"envvar-DJANGO_WATCHMAN_TIMEOUT\">\n<span class=\"sig-name descname\">DJANGO_WATCHMAN_TIMEOUT</span><a class=\"heading-anchor\" href=\"#envvar-DJANGO_WATCHMAN_TIMEOUT\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\">Watchman</code> 客户端的默认超时时间是 5 秒。你可以通过设置 <span class=\"target\" id=\"index-26\"></span><a class=\"reference internal\" href=\"#envvar-DJANGO_WATCHMAN_TIMEOUT\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_WATCHMAN_TIMEOUT</code></a> 环境变量来改变它。</p>\n</aside>\n<p>当你启动服务器时，以及每次在服务器运行时修改 Python 代码时，系统检查框架会检查你的整个 Django 项目是否存在一些常见的错误（参见 <a class=\"reference internal\" href=\"#django-admin-check\"><code class=\"xref std std-djadmin docutils literal notranslate\">check</code></a> 命令）。如果发现任何错误，它们将被打印到标准输出。 你可以使用 <code class=\"docutils literal notranslate\">--skip-checks</code> 选项来跳过运行系统检查。</p>\n<p>您可以根据需要运行任意数量的并发服务器,只要它们通过多次执行 django-admin runserver 运行在不同的端口上即可。</p>\n<p>请注意，默认 IP 地址 <code class=\"docutils literal notranslate\">127.0.0.1</code> 无法从您网络上的其他计算机访问。为了使您的开发服务器对网络上的其他机器可见，请使用它自己的 IP 地址（例如 <code class=\"docutils literal notranslate\">192.168.2.1</code>）、<code class=\"docutils literal notranslate\">0``（``0.0.0.0</code> 的快捷方式）、<code class=\"docutils literal notranslate\">0.0. 0.0</code> 或 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>::<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>（启用 IPv6）。</p>\n<p>你可以提供一个用括号包围的 IPv6 地址（例如 <code class=\"docutils literal notranslate\">[200a::1]:8000</code>）。这将自动启用 IPv6 支持。</p>\n<p>也可以使用只包含 ASCII 字符的主机名。</p>\n<p>如果 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/staticfiles/\"><span class=\"doc\">staticfiles</span></a> contrib 应用被启用（新项目中的默认值）， <a class=\"reference internal\" href=\"#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a> 命令将被它自己的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/staticfiles/#staticfiles-runserver\"><span class=\"std std-ref\">runserver</span></a> 命令覆盖。</p>\n<p>服务器的每个请求和响应的日志都会被发送到 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/logging/#django-server-logger\"><span class=\"std std-ref\">django.server</span></a> 日志器。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-runserver-noreload\">\n<span class=\"sig-name descname\">--noreload</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-runserver-noreload\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁用自动加载器。这意味着，如果特定的 Python 模块已经被加载到内存中，那么你在服务器运行时所做的任何 Python 代码更改将 <em>不会</em> 生效。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-runserver-nothreading\">\n<span class=\"sig-name descname\">--nothreading</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-runserver-nothreading\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在开发服务器中禁止使用线程。默认情况下，服务器是多线程的。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-runserver-ipv6\">\n<span id=\"cmdoption-runserver-6\"></span><span class=\"sig-name descname\">--ipv6</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-6</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-runserver-ipv6\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>开发服务器使用 IPv6。这将默认 IP 地址从 <code class=\"docutils literal notranslate\">127.0.0.1</code> 改为 <code class=\"docutils literal notranslate\">::1</code>。</p>\n<section id=\"examples-of-using-different-ports-and-addresses\">\n<h4>使用不同端口和地址的例子<a class=\"heading-anchor\" href=\"#examples-of-using-different-ports-and-addresses\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>IP 地址 <code class=\"docutils literal notranslate\">127.0.0.1</code> 上的端口 8000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver</span>\n</code></pre></div>\n<p>IP 地址 <code class=\"docutils literal notranslate\">1.2.3.4</code> 上的端口 8000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver 1.2.3.4:8000</span>\n</code></pre></div>\n<p>IP 地址 <code class=\"docutils literal notranslate\">127.0.0.1</code> 上的端口 7000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver 7000</span>\n</code></pre></div>\n<p>IP 地址 <code class=\"docutils literal notranslate\">1.2.3.4</code> 上的端口 7000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver 1.2.3.4:7000</span>\n</code></pre></div>\n<p>IPv6 地址 <code class=\"docutils literal notranslate\">::1</code> 上的端口 8000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver -6</span>\n</code></pre></div>\n<p>IPv6 地址 <code class=\"docutils literal notranslate\">::1</code> 上的端口 7000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver -6 7000</span>\n</code></pre></div>\n<p>IPv6 地址 <code class=\"docutils literal notranslate\">2001:0db8:1234:5678::9</code> 上的端口 7000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver [2001:0db8:1234:5678::9]:7000</span>\n</code></pre></div>\n<p>主机 <code class=\"docutils literal notranslate\">localhost</code> 的 IPv4 地址上的端口 8000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver localhost:8000</span>\n</code></pre></div>\n<p>主机 <code class=\"docutils literal notranslate\">localhost</code> 的 IPv6 地址上的端口 8000：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver -6 localhost:8000</span>\n</code></pre></div>\n</section>\n<section id=\"serving-static-files-with-the-development-server\">\n<h4>用开发服务器服务静态文件<a class=\"heading-anchor\" href=\"#serving-static-files-with-the-development-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>默认情况下，开发服务器不会为你的网站提供任何静态文件（比如 CSS 文件、图片、 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\">MEDIA_URL</code></a> 下的东西等等）。如果你想设置 Django 为服务静态媒体，请阅读 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/static-files/\"><span class=\"doc\">如何管理静态文件（如图片、JavaScript、CSS）</span></a>。</p>\n</section>\n<section id=\"serving-with-asgi-in-development\">\n<h4>在开发中使用 ASGI 进行服务<a class=\"heading-anchor\" href=\"#serving-with-asgi-in-development\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Django 的 <code class=\"docutils literal notranslate\">runserver</code> 命令提供了一个 WSGI 服务器。要在 ASGI 下运行，您需要使用一个 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/deployment/asgi/\"><span class=\"doc\">ASGI 服务器</span></a>。Django Daphne 项目提供了 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/deployment/asgi/daphne/#daphne-runserver\"><span class=\"std std-ref\">与 runserver 集成</span></a>，您可以使用它。</p>\n</section>\n</section>\n<section id=\"sendtestemail\">\n<h3><code class=\"docutils literal notranslate\">sendtestemail</code><a class=\"heading-anchor\" href=\"#sendtestemail\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-sendtestemail\">\n<span class=\"sig-name descname\">django-admin sendtestemail [email [email ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-sendtestemail\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>发送一个测试邮件（以确认通过 Django 发送邮件是否正常工作）给指定的收件人。例如：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin sendtestemail foo@example.com bar@example.com</span>\n</code></pre></div>\n<p>有几个选项，你可以将它们任意组合在一起使用：</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-sendtestemail-managers\">\n<span class=\"sig-name descname\">--managers</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-sendtestemail-managers\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/email/#django.core.mail.mail_managers\" title=\"django.core.mail.mail_managers\"><code class=\"xref py py-meth docutils literal notranslate\">mail_managers()</code></a> 向 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-MANAGERS\"><code class=\"xref std std-setting docutils literal notranslate\">MANAGERS</code></a> 中指定的邮件地址发送邮件。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-sendtestemail-admins\">\n<span class=\"sig-name descname\">--admins</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-sendtestemail-admins\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/email/#django.core.mail.mail_admins\" title=\"django.core.mail.mail_admins\"><code class=\"xref py py-meth docutils literal notranslate\">mail_admins()</code></a> 向 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-ADMINS\"><code class=\"xref std std-setting docutils literal notranslate\">ADMINS</code></a> 中指定的邮件地址发送邮件。</p>\n</section>\n<section id=\"shell\">\n<h3><code class=\"docutils literal notranslate\">shell</code><a class=\"heading-anchor\" href=\"#shell\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-shell\">\n<span class=\"sig-name descname\">django-admin shell</span><a class=\"heading-anchor\" href=\"#django-admin-shell\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>启动 Python 交互式解释器。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-shell-interface\">\n<span id=\"cmdoption-shell-i\"></span><span class=\"sig-name descname\">--interface</span><span class=\"sig-prename descclassname\"> {ipython,bpython,python}</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-i</span><span class=\"sig-prename descclassname\"> {ipython,bpython,python}</span><a class=\"heading-anchor\" href=\"#cmdoption-shell-interface\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要使用的命令行。默认情况下，Django 会使用安装了的 <a class=\"reference external\" href=\"https://ipython.org/\">IPython</a> 或 <a class=\"reference external\" href=\"https://bpython-interpreter.org/\">bpython</a> 。如果两者都安装了，请指定使用哪一个：</p>\n<p>IPython:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin shell -i ipython</span>\n</code></pre></div>\n<p>bpython:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin shell -i bpython</span>\n</code></pre></div>\n<p>如果你安装了一个 &quot;rich&quot; shell 但想要强制使用 &quot;plain&quot; Python 解释器，请使用 <code class=\"docutils literal notranslate\">python</code> 作为接口名称，如下所示：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin shell -i python</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-shell-nostartup\">\n<span class=\"sig-name descname\">--nostartup</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-shell-nostartup\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁止读取“纯&quot; Python 解释器的启动脚本。默认情况下，读取 <span class=\"target\" id=\"index-27\"></span><a class=\"reference external\" href=\"https://docs.python.org/3/using/cmdline.html#envvar-PYTHONSTARTUP\" title=\"(in Python v3.14)\"><code class=\"xref std std-envvar docutils literal notranslate\">PYTHONSTARTUP</code></a> 环境变量或 <code class=\"docutils literal notranslate\">~/.pythonrc.py</code> 脚本所指向的脚本。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-shell-command\">\n<span id=\"cmdoption-shell-c\"></span><span class=\"sig-name descname\">--command</span><span class=\"sig-prename descclassname\"> COMMAND</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-c</span><span class=\"sig-prename descclassname\"> COMMAND</span><a class=\"heading-anchor\" href=\"#cmdoption-shell-command\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>允许你将一个命令作为字符串传递，以便像这样作为 Django 执行它：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin shell --command=&quot;import django; print(django.__version__)&quot;</span>\n</code></pre></div>\n<p>你也可以在标准输入上传入代码来执行。例如：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>django-admin shell &lt;&lt;EOF\n<span class=\"go\">&gt; import django</span>\n<span class=\"go\">&gt; print(django.__version__)</span>\n<span class=\"go\">&gt; EOF</span>\n</code></pre></div>\n<p>在 Windows 上，由于 <a class=\"reference external\" href=\"https://docs.python.org/3/library/select.html#select.select\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">select.select()</code></a> 在该平台上的实现限制，REPL 被输出。</p>\n</section>\n<section id=\"showmigrations\">\n<h3><code class=\"docutils literal notranslate\">showmigrations</code><a class=\"heading-anchor\" href=\"#showmigrations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-showmigrations\">\n<span class=\"sig-name descname\">django-admin showmigrations [app_label [app_label ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-showmigrations\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>显示一个项目中的所有迁移。你可以从两种格式中选择一种：</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-showmigrations-list\">\n<span id=\"cmdoption-showmigrations-l\"></span><span class=\"sig-name descname\">--list</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-l</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-showmigrations-list\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>列出 Django 知道的所有应用，每个应用的可用迁移，以及每个迁移是否被应用（在迁移名称旁边用 <code class=\"docutils literal notranslate\">[X]</code> 标记）。对于 <code class=\"docutils literal notranslate\">--verbosity</code> 2 及以上的应用，也会显示应用的日期时间。</p>\n<p>没有迁移的应用程序也在列表中，但下面印有 <code class=\"docutils literal notranslate\">(no migrations)</code>。</p>\n<p>这是默认的输出格式。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-showmigrations-plan\">\n<span id=\"cmdoption-showmigrations-p\"></span><span class=\"sig-name descname\">--plan</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-p</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-showmigrations-plan\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>显示 Django 将遵循的迁移计划。和 <code class=\"docutils literal notranslate\">--list</code> 一样，应用的迁移也用 <code class=\"docutils literal notranslate\">[X]</code> 标记。对于 <code class=\"docutils literal notranslate\">--verbosity</code> 2 以上，也会显示迁移的所有依赖关系。</p>\n<p><code class=\"docutils literal notranslate\">app_label</code> 参数限制了输出，但是，所提供的应用的依赖也可能被包括在内。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-showmigrations-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-showmigrations-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要检查的数据库。默认为 <code class=\"docutils literal notranslate\">default</code>。</p>\n</section>\n<section id=\"sqlflush\">\n<h3><code class=\"docutils literal notranslate\">sqlflush</code><a class=\"heading-anchor\" href=\"#sqlflush\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-sqlflush\">\n<span class=\"sig-name descname\">django-admin sqlflush</span><a class=\"heading-anchor\" href=\"#django-admin-sqlflush\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>打印 <a class=\"reference internal\" href=\"#django-admin-flush\"><code class=\"xref std std-djadmin docutils literal notranslate\">flush</code></a> 命令执行的 SQL 语句。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-sqlflush-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-sqlflush-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要打印 SQL 的数据库。默认值为 <code class=\"docutils literal notranslate\">default</code>。</p>\n</section>\n<section id=\"sqlmigrate\">\n<h3><code class=\"docutils literal notranslate\">sqlmigrate</code><a class=\"heading-anchor\" href=\"#sqlmigrate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-sqlmigrate\">\n<span class=\"sig-name descname\">django-admin sqlmigrate app_label migration_name</span><a class=\"heading-anchor\" href=\"#django-admin-sqlmigrate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>打印指定迁移的 SQL。这需要一个活动的数据库连接，它将用来解析约束名；这意味着你必须针对你希望以后应用它的数据库副本生成 SQL。</p>\n<p>请注意，<code class=\"docutils literal notranslate\">sqlmigrate</code> 不会对其输出进行着色。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-sqlmigrate-backwards\">\n<span class=\"sig-name descname\">--backwards</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-sqlmigrate-backwards\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>生成用于解除应用迁移的 SQL。默认情况下，所创建的 SQL 是用于向前运行迁移。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-sqlmigrate-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-sqlmigrate-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要生成 SQL 的数据库。默认值为 <code class=\"docutils literal notranslate\">default</code>。</p>\n</section>\n<section id=\"sqlsequencereset\">\n<h3><code class=\"docutils literal notranslate\">sqlsequencereset</code><a class=\"heading-anchor\" href=\"#sqlsequencereset\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-sqlsequencereset\">\n<span class=\"sig-name descname\">django-admin sqlsequencereset app_label [app_label ...]</span><a class=\"heading-anchor\" href=\"#django-admin-sqlsequencereset\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>打印用于重置给定应用名称序列的 SQL 语句。</p>\n<p>序列是一些数据库引擎用来跟踪自动递增字段的下一个可用数字的索引。</p>\n<p>使用此命令生成 SQL，它将修复序列与其自动递增的字段数据不同步的情况。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-sqlsequencereset-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-sqlsequencereset-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要打印 SQL 的数据库。默认值为 <code class=\"docutils literal notranslate\">default</code>。</p>\n</section>\n<section id=\"squashmigrations\">\n<h3><code class=\"docutils literal notranslate\">squashmigrations</code><a class=\"heading-anchor\" href=\"#squashmigrations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-squashmigrations\">\n<span class=\"sig-name descname\">django-admin squashmigrations app_label [start_migration_name] migration_name</span><a class=\"heading-anchor\" href=\"#django-admin-squashmigrations\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>如果可能的话，将 <code class=\"docutils literal notranslate\">app_label</code> 的迁移（包括 <code class=\"docutils literal notranslate\">migration_name</code>）压缩成较少的迁移。压制后的迁移可以和未压制的迁移安全地并存。更多信息，请阅读 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/migrations/#migration-squashing\"><span class=\"std std-ref\">压缩迁移</span></a>。</p>\n<p>当给定 <code class=\"docutils literal notranslate\">start_migration_name</code> 时，Django 将只包含从这个迁移开始的迁移。这有助于减少 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/migration-operations/#django.db.migrations.operations.RunPython\" title=\"django.db.migrations.operations.RunPython\"><code class=\"xref py py-class docutils literal notranslate\">RunPython</code></a> 和 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/migration-operations/#django.db.migrations.operations.RunSQL\" title=\"django.db.migrations.operations.RunSQL\"><code class=\"xref py py-class docutils literal notranslate\">django.db.migrations.operations.RunSQL</code></a> 迁移操作的限制。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-squashmigrations-no-optimize\">\n<span class=\"sig-name descname\">--no-optimize</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-squashmigrations-no-optimize\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>当生成一个压缩的迁移时，禁用优化器。默认情况下，Django 会尝试优化迁移中的操作，以减少生成文件的大小。如果这个过程失败或创建不正确的迁移，请使用这个选项，不过也请提交一个 Django 的 bug 报告来说明这个行为，因为优化的目的是为了安全。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-squashmigrations-noinput\">\n<span id=\"cmdoption-squashmigrations-no-input\"></span><span class=\"sig-name descname\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-squashmigrations-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁止所有的用户提示。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-squashmigrations-squashed-name\">\n<span class=\"sig-name descname\">--squashed-name</span><span class=\"sig-prename descclassname\"> SQUASHED_NAME</span><a class=\"heading-anchor\" href=\"#cmdoption-squashmigrations-squashed-name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>设置被压缩的迁移的名称。当省略时，名称以第一次和最后一次迁移为基础，中间为 <code class=\"docutils literal notranslate\">_squashed_</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-squashmigrations-no-header\">\n<span class=\"sig-name descname\">--no-header</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-squashmigrations-no-header\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>生成没有 Django 版本和时间戳头的压缩迁移文件。</p>\n</section>\n<section id=\"startapp\">\n<h3><code class=\"docutils literal notranslate\">startapp</code><a class=\"heading-anchor\" href=\"#startapp\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-startapp\">\n<span class=\"sig-name descname\">django-admin startapp name [directory]</span><a class=\"heading-anchor\" href=\"#django-admin-startapp\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在当前目录或给定的目标目录中为给定的应用名创建一个 Django 应用目录结构。</p>\n<p>默认情况下，<a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/4.2.x/django/conf/app_template\">新目录</a> 包含 <code class=\"docutils literal notranslate\">models.py</code> 文件和其他应用模板文件。如果只给出应用名称，应用目录将被创建在当前工作目录下。</p>\n<p>如果提供了可选的目的地，Django 将使用现有的目录，而不是创建一个新的目录。你可以使用 '.' 来表示当前的工作目录。</p>\n<p>例如：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin startapp myapp /Users/jezdez/Code/myapp</span>\n</code></pre></div>\n<dl class=\"django-admin-option\" id=\"custom-app-and-project-templates\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startapp-template\">\n<span class=\"sig-name descname\">--template</span><span class=\"sig-prename descclassname\"> TEMPLATE</span><a class=\"heading-anchor\" href=\"#cmdoption-startapp-template\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>提供指向自定义应用模板文件目录的路径，或指向未压缩档案（<code class=\"docutils literal notranslate\">.tar</code>）或压缩档案（<code class=\"docutils literal notranslate\">. tar.gz</code>、<code class=\"docutils literal notranslate\">.tar.bz2</code>、<code class=\"docutils literal notranslate\">.tar.xz</code>、<code class=\"docutils literal notranslate\">.tar.lzma</code>、<code class=\"docutils literal notranslate\">.tgz</code>、<code class=\"docutils literal notranslate\">.tbz2</code>、<code class=\"docutils literal notranslate\">.txz</code>、<code class=\"docutils literal notranslate\">.tlz</code>、<code class=\"docutils literal notranslate\">.zip</code>）的路径。</p>\n<p>例如，当创建 <code class=\"docutils literal notranslate\">myapp</code> 应用程序时，这将在给定目录中查找一个应用程序模板：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin startapp --template=/Users/jezdez/Code/my_app_template myapp</span>\n</code></pre></div>\n<p>Django 还将接受 URL（<code class=\"docutils literal notranslate\">http</code>、<code class=\"docutils literal notranslate\">https</code>、<code class=\"docutils literal notranslate\">ftp</code>）与应用模板文件一起压缩归档，即时下载并解压。</p>\n<p>例如，利用 GitHub 提供的将存储库公开为 zip 文件的功能，你可以使用如下的 URL：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin startapp --template=https://github.com/githubuser/django-app-template/archive/main.zip myapp</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startapp-extension\">\n<span id=\"cmdoption-startapp-e\"></span><span class=\"sig-name descname\">--extension</span><span class=\"sig-prename descclassname\"> EXTENSIONS</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-e</span><span class=\"sig-prename descclassname\"> EXTENSIONS</span><a class=\"heading-anchor\" href=\"#cmdoption-startapp-extension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定应用模板中的哪些文件扩展名应该用模板引擎渲染。默认值为 <code class=\"docutils literal notranslate\">py</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startapp-name\">\n<span id=\"cmdoption-startapp-n\"></span><span class=\"sig-name descname\">--name</span><span class=\"sig-prename descclassname\"> FILES</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-n</span><span class=\"sig-prename descclassname\"> FILES</span><a class=\"heading-anchor\" href=\"#cmdoption-startapp-name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定应用模板中的哪些文件（除了那些匹配 <code class=\"docutils literal notranslate\">--extension</code> 的文件外）应该用模板引擎渲染。默认为空列表。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startapp-exclude\">\n<span id=\"cmdoption-startapp-x\"></span><span class=\"sig-name descname\">--exclude</span><span class=\"sig-prename descclassname\"> DIRECTORIES</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-x</span><span class=\"sig-prename descclassname\"> DIRECTORIES</span><a class=\"heading-anchor\" href=\"#cmdoption-startapp-exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定除了 <code class=\"docutils literal notranslate\">.git</code> 和 <code class=\"docutils literal notranslate\">__pycache__</code> 之外，应用模板中的哪些目录应该被排除。如果没有提供这个选项，名为 <code class=\"docutils literal notranslate\">__pycache__</code> 或以 <code class=\"docutils literal notranslate\">.</code> 开头的目录将被排除。</p>\n<p>所有匹配文件使用的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\">template context</code></a> 是：</p>\n<ul class=\"simple\">\n<li><p>传递给 <code class=\"docutils literal notranslate\">startapp</code> 命令的任何选项（在命令行支持的选项中）</p></li>\n<li><p><code class=\"docutils literal notranslate\">app_name</code> ——传递给命令的应用名称</p></li>\n<li><p><code class=\"docutils literal notranslate\">app_directory</code> ——新创建的应用的完整路径</p></li>\n<li><p><code class=\"docutils literal notranslate\">camel_case_app_name</code> ——驼峰大小写格式的应用名称</p></li>\n<li><p><code class=\"docutils literal notranslate\">docs_version</code> ——文档的版本： <code class=\"docutils literal notranslate\">'dev'</code> 或 <code class=\"docutils literal notranslate\">'1.x'</code>。</p></li>\n<li><p><code class=\"docutils literal notranslate\">django_version</code> ——Django 的版本，例如 <code class=\"docutils literal notranslate\">'2.0.3'</code>。</p></li>\n</ul>\n<aside class=\"admonition admonition-warning\" id=\"render-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>当应用模板文件用 Django 模板引擎渲染时（默认是所有 <code class=\"docutils literal notranslate\">*.py</code> 文件），Django 也会替换掉所有包含的游离模板变量。例如，如果其中一个 Python 文件中包含了解释与模板渲染相关的特定功能的 docstring，可能会导致一个错误的例子。</p>\n<p>为了解决这个问题，你可以使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/templates/builtins/#std-templatetag-templatetag\"><code class=\"xref std std-ttag docutils literal notranslate\">templatetag</code></a> 模板标签来”转义“模板语法的各个部分。</p>\n<p>此外，为了允许包含 Django 模板语言语法的 Python 模板文件，同时也为了防止打包系统试图对无效的 <code class=\"docutils literal notranslate\">*.py</code> 文件进行字节编译，以 <code class=\"docutils literal notranslate\">.py-tpl</code> 结尾的模板文件将改名为 <code class=\"docutils literal notranslate\">.py</code>。</p>\n</aside>\n<aside class=\"admonition admonition-warning\" id=\"trusted-code-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>在使用自定义应用程序（或项目）模板之前，应始终审查其内容：这些模板定义了将成为项目一部分的代码，这意味着这些代码将被视为你安装的任何应用程序或自己编写的代码一样可信。此外，甚至渲染模板实际上是执行作为管理命令输入提供的代码。Django 模板语言可能会为系统提供广泛的访问权限，因此请确保你使用的任何自定义模板值得信任。</p>\n</aside>\n</section>\n<section id=\"startproject\">\n<h3><code class=\"docutils literal notranslate\">startproject</code><a class=\"heading-anchor\" href=\"#startproject\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-startproject\">\n<span class=\"sig-name descname\">django-admin startproject name [directory]</span><a class=\"heading-anchor\" href=\"#django-admin-startproject\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在当前目录或给定的目标目录中为给定的项目名称创建一个 Django 项目目录结构。</p>\n<p>默认情况下，<a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/4.2.x/django/conf/project_template\">新目录</a> 包含 <code class=\"docutils literal notranslate\">manage.py</code> 和一个项目包（包含 <code class=\"docutils literal notranslate\">settings.py</code> 和其他文件）。</p>\n<p>如果只给出项目名称，则项目目录和项目包都将命名为 <code class=\"docutils literal notranslate\">&lt;projectname&gt;</code>，并在当前工作目录下创建项目目录。</p>\n<p>如果提供了可选的目的地，Django 将使用该已有目录作为项目目录，并在其中创建 <code class=\"docutils literal notranslate\">manage.py</code> 和项目包。用 '.' 表示当前的工作目录。</p>\n<p>例如：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin startproject myproject /Users/jezdez/Code/myproject_repo</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startproject-template\">\n<span class=\"sig-name descname\">--template</span><span class=\"sig-prename descclassname\"> TEMPLATE</span><a class=\"heading-anchor\" href=\"#cmdoption-startproject-template\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定一个自定义项目模板的目录、文件路径或 URL。参见 <a class=\"reference internal\" href=\"#cmdoption-startapp-template\"><code class=\"xref std std-option docutils literal notranslate\">startapp --template</code></a> 文档中的例子和用法。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startproject-extension\">\n<span id=\"cmdoption-startproject-e\"></span><span class=\"sig-name descname\">--extension</span><span class=\"sig-prename descclassname\"> EXTENSIONS</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-e</span><span class=\"sig-prename descclassname\"> EXTENSIONS</span><a class=\"heading-anchor\" href=\"#cmdoption-startproject-extension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定项目模板中的哪些文件扩展名应该用模板引擎渲染。默认值为 <code class=\"docutils literal notranslate\">py</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startproject-name\">\n<span id=\"cmdoption-startproject-n\"></span><span class=\"sig-name descname\">--name</span><span class=\"sig-prename descclassname\"> FILES</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-n</span><span class=\"sig-prename descclassname\"> FILES</span><a class=\"heading-anchor\" href=\"#cmdoption-startproject-name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定项目模板中的哪些文件（除了那些匹配 <code class=\"docutils literal notranslate\">--extension</code> 的文件外）应该用模板引擎渲染。默认为空列表。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-startproject-exclude\">\n<span id=\"cmdoption-startproject-x\"></span><span class=\"sig-name descname\">--exclude</span><span class=\"sig-prename descclassname\"> DIRECTORIES</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-x</span><span class=\"sig-prename descclassname\"> DIRECTORIES</span><a class=\"heading-anchor\" href=\"#cmdoption-startproject-exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定除了 <code class=\"docutils literal notranslate\">.git</code> 和 <code class=\"docutils literal notranslate\">__pycache__</code> 之外，项目模板中哪些目录应该被排除。如果没有提供这个选项，名为 <code class=\"docutils literal notranslate\">__pycache__</code> 或以 <code class=\"docutils literal notranslate\">.</code> 开头的目录将被排除。</p>\n<p>使用的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\">template context</code></a> 是：</p>\n<ul class=\"simple\">\n<li><p>传递给 <code class=\"docutils literal notranslate\">startproject</code> 命令的任何选项（在命令支持的选项中）</p></li>\n<li><p><code class=\"docutils literal notranslate\">project_name</code> ——传给命令的项目名称</p></li>\n<li><p><code class=\"docutils literal notranslate\">project_directory</code> ——新创建项目的完整路径</p></li>\n<li><p><code class=\"docutils literal notranslate\">secret_key</code> —— <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\">SECRET_KEY</code></a> 设置的随机密钥</p></li>\n<li><p><code class=\"docutils literal notranslate\">docs_version</code> ——文档的版本： <code class=\"docutils literal notranslate\">'dev'</code> 或 <code class=\"docutils literal notranslate\">'1.x'</code>。</p></li>\n<li><p><code class=\"docutils literal notranslate\">django_version</code> ——Django 的版本，例如 <code class=\"docutils literal notranslate\">'2.0.3'</code>。</p></li>\n</ul>\n<p>请参阅与 <a class=\"reference internal\" href=\"#django-admin-startapp\"><code class=\"xref std std-djadmin docutils literal notranslate\">startapp</code></a> 中提到的 <a class=\"reference internal\" href=\"#render-warning\"><span class=\"std std-ref\">渲染警告</span></a> 和 <a class=\"reference internal\" href=\"#trusted-code-warning\"><span class=\"std std-ref\">可信代码警告</span></a> 相关的内容。</p>\n</section>\n<section id=\"test\">\n<h3><code class=\"docutils literal notranslate\">test</code><a class=\"heading-anchor\" href=\"#test\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-test\">\n<span class=\"sig-name descname\">django-admin test [test_label [test_label ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-test\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>为所有安装的应用运行测试。参见 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/\"><span class=\"doc\">Django 中的测试</span></a> 获取更多信息。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-failfast\">\n<span class=\"sig-name descname\">--failfast</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-failfast\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>测试失败后立即停止运行测试并报告失败。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-testrunner\">\n<span class=\"sig-name descname\">--testrunner</span><span class=\"sig-prename descclassname\"> TESTRUNNER</span><a class=\"heading-anchor\" href=\"#cmdoption-test-testrunner\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>控制用于执行测试的测试运行器类。这个值会覆盖 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-TEST_RUNNER\"><code class=\"xref std std-setting docutils literal notranslate\">TEST_RUNNER</code></a> 配置提供的值。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-noinput\">\n<span id=\"cmdoption-test-no-input\"></span><span class=\"sig-name descname\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>压制所有用户提示。一个典型的提示是关于删除现有测试数据库的警告。</p>\n<section id=\"test-runner-options\">\n<h4>测试运行器选项<a class=\"heading-anchor\" href=\"#test-runner-options\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><code class=\"docutils literal notranslate\">test</code> 命令代表指定的 <a class=\"reference internal\" href=\"#cmdoption-test-testrunner\"><code class=\"xref std std-option docutils literal notranslate\">--testrunner</code></a> 接收选项。这些是默认测试运行器的选项： <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/advanced/#django.test.runner.DiscoverRunner\" title=\"django.test.runner.DiscoverRunner\"><code class=\"xref py py-class docutils literal notranslate\">DiscoverRunner</code></a>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-keepdb\">\n<span class=\"sig-name descname\">--keepdb</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-keepdb\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在测试运行之间保留测试数据库。这样做的好处是可以跳过创建和销毁这两个动作，从而大大缩短测试运行的时间，尤其是在大型测试套件中。如果测试数据库不存在，将在第一次运行时创建，然后在以后的每次运行中保留。除非 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-TEST_MIGRATE\"><code class=\"xref std std-setting docutils literal notranslate\">MIGRATE</code></a> 测试配置为 <code class=\"docutils literal notranslate\">False</code>，否则任何未应用的迁移也会在运行测试套件之前应用到测试数据库。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-shuffle\">\n<span class=\"sig-name descname\">--shuffle</span><span class=\"sig-prename descclassname\"> [SEED]</span><a class=\"heading-anchor\" href=\"#cmdoption-test-shuffle\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在运行测试之前，随机化测试的顺序。这可以帮助发现那些没有正确隔离的测试。这个选项产生的测试顺序是给定的整数种子的一个确定性函数。当没有传递种子时，会随机选择一个种子并打印到控制台。要重复一个特定的测试顺序，需要传递一个种子。这个选项生成的测试顺序保留了 Django 的 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/overview/#order-of-tests\"><span class=\"std std-ref\">测试顺序的保证</span></a>。它们还保持了测试案例类别的测试分组。</p>\n<p>在缩小隔离问题时，洗牌后的顺序也有一个特殊的一致性属性。也就是说，对于一个给定的种子，当运行一个测试子集时，新的顺序将是限制在较小的集合上的原始洗牌。同样地，在保持种子不变的情况下增加测试时，原始测试的顺序在新的顺序中也是一样的。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-reverse\">\n<span id=\"cmdoption-test-r\"></span><span class=\"sig-name descname\">--reverse</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-r</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-reverse\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>将测试案例以相反的执行顺序排序。这可能有助于调试没有正确隔离的测试的副作用。 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/overview/#order-of-tests\"><span class=\"std std-ref\">按测试类别分组</span></a> 在使用此选项时被保留下来。这可以和 <code class=\"docutils literal notranslate\">--shuffle</code> 一起使用，以扭转特定种子的顺序。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-debug-mode\">\n<span class=\"sig-name descname\">--debug-mode</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-debug-mode\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在运行测试之前，将 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> 设置为 <code class=\"docutils literal notranslate\">True</code>。这可能有助于解决测试失败的问题。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-debug-sql\">\n<span id=\"cmdoption-test-d\"></span><span class=\"sig-name descname\">--debug-sql</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-d</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-debug-sql\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>对失败的测试启用 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/logging/#django-db-logger\"><span class=\"std std-ref\">SQL 日志</span></a>。如果 <code class=\"docutils literal notranslate\">--verbosity</code> 是 <code class=\"docutils literal notranslate\">2</code>，那么通过测试的查询也会被输出。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-parallel\">\n<span class=\"sig-name descname\">--parallel</span><span class=\"sig-prename descclassname\"> [N]</span><a class=\"heading-anchor\" href=\"#cmdoption-test-parallel\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"std envvar\">\n<dt class=\"sig sig-object std\" id=\"envvar-DJANGO_TEST_PROCESSES\">\n<span class=\"sig-name descname\">DJANGO_TEST_PROCESSES</span><a class=\"heading-anchor\" href=\"#envvar-DJANGO_TEST_PROCESSES\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在单独的并行进程中运行测试。由于现代处理器拥有多个内核，这使得运行测试的速度大大加快。</p>\n<p>使用 <code class=\"docutils literal notranslate\">--parallel</code> 不加值，或使用 <code class=\"docutils literal notranslate\">auto</code> 值，根据 <a class=\"reference external\" href=\"https://docs.python.org/3/library/multiprocessing.html#multiprocessing.cpu_count\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">multiprocessing.cpu_count()</code></a> 每个核心运行一个测试进程。你可以通过传递所需的进程数来覆盖这一点，例如：<code class=\"docutils literal notranslate\">--parallel 4</code>，或者通过设置 <span class=\"target\" id=\"index-28\"></span><a class=\"reference internal\" href=\"#envvar-DJANGO_TEST_PROCESSES\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_TEST_PROCESSES</code></a> 环境变量。</p>\n<p>Django 将测试用例—— <a class=\"reference external\" href=\"https://docs.python.org/3/library/unittest.html#unittest.TestCase\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">unittest.TestCase</code></a> 子类——分配给子进程。如果测试用例比配置的进程少，Django 会相应减少进程的数量。</p>\n<p>每个进程都会得到它们自己的数据库。你必须确保不同的测试用例不会访问相同的资源。例如，接触文件系统的测试用例应该创建一个临时目录供自己使用。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>如果你有不能并行运行的测试类，你可以使用 <code class=\"docutils literal notranslate\">SerializeMixin</code> 按顺序运行它们。参见 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/advanced/#topics-testing-enforce-run-sequentially\"><span class=\"std std-ref\">强制按顺序运行测试类</span></a>。</p>\n</aside>\n<p>这个选项需要第三方的 <code class=\"docutils literal notranslate\">tlib</code> 包才能正确显示回溯。</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python -m pip install tblib\n</code></pre></div>\n<p>这个功能在 Windows 上无法使用。它也不能与 Oracle 数据库后端一起工作。</p>\n<p>如果你想在调试测试时使用 <a class=\"reference external\" href=\"https://docs.python.org/3/library/pdb.html#module-pdb\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\">pdb</code></a>，你必须禁用并行执行（<code class=\"docutils literal notranslate\">-parallel=1</code>）。如果不这样做，你会看到类似 <code class=\"docutils literal notranslate\">bdb.BdbQuit</code> 的东西。</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>当启用测试并行化后，测试失败时，Django 可能无法显示异常回溯。这可能会给调试带来困难。如果你遇到这个问题，请在不并行的情况下运行受影响的测试，以查看失败的回溯。</p>\n<p>这是一个众所周知的限制。这是因为需要对对象进行序列化，以便在进程间进行交换。详见 <a class=\"reference external\" href=\"https://docs.python.org/3/library/pickle.html#pickle-picklable\" title=\"(in Python v3.14)\"><span>What can be pickled and unpickled?</span></a>。</p>\n</aside>\n<dl class=\"std option\">\n<dt class=\"sig sig-object std\" id=\"cmdoption-test-tag\">\n<span class=\"sig-name descname\">--tag</span><span class=\"sig-prename descclassname\"> TAGS</span><a class=\"heading-anchor\" href=\"#cmdoption-test-tag\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>只运行 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/tools/#topics-tagging-tests\"><span class=\"std std-ref\">特定标签标记</span></a> 的测试。可多次指定，并与 <code class=\"xref std std-option docutils literal notranslate\">test --exclud-tag</code> 结合使用。</p>\n<p>未能加载的测试总是被认为是匹配的。</p>\n<dl class=\"std option\">\n<dt class=\"sig sig-object std\" id=\"cmdoption-test-exclude-tag\">\n<span class=\"sig-name descname\">--exclude-tag</span><span class=\"sig-prename descclassname\"> EXCLUDE_TAGS</span><a class=\"heading-anchor\" href=\"#cmdoption-test-exclude-tag\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>不包括 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/tools/#topics-tagging-tests\"><span class=\"std std-ref\">特定标签标记的</span></a> 测试。可多次指定，并与 <a class=\"reference internal\" href=\"#cmdoption-test-tag\"><code class=\"xref std std-option docutils literal notranslate\">test --tag</code></a> 结合使用。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-k\">\n<span class=\"sig-name descname\">-k</span><span class=\"sig-prename descclassname\"> TEST_NAME_PATTERNS</span><a class=\"heading-anchor\" href=\"#cmdoption-test-k\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>运行与测试名称模式相匹配的测试方法和类，与 <a class=\"reference external\" href=\"https://docs.python.org/3/library/unittest.html#cmdoption-unittest-k\" title=\"(in Python v3.14)\"><code class=\"xref std std-option docutils literal notranslate\">unittest's -k option</code></a> 一样。可以指定多次。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-pdb\">\n<span class=\"sig-name descname\">--pdb</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-pdb\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在每次测试错误或失败时，都会产生一个 <code class=\"docutils literal notranslate\">pdb</code> 调试器。如果你安装了 <code class=\"docutils literal notranslate\">ipdb</code>，则使用其代替。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-buffer\">\n<span id=\"cmdoption-test-b\"></span><span class=\"sig-name descname\">--buffer</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-b</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-buffer\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>丢弃通过测试的输出（<code class=\"docutils literal notranslate\">stdout</code> 和 <code class=\"docutils literal notranslate\">stderr</code>），与 <a class=\"reference external\" href=\"https://docs.python.org/3/library/unittest.html#cmdoption-unittest-b\" title=\"(in Python v3.14)\"><code class=\"xref std std-option docutils literal notranslate\">unittest's --buffer option</code></a> 一样。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-no-faulthandler\">\n<span class=\"sig-name descname\">--no-faulthandler</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-no-faulthandler\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Django 在启动测试时自动调用 <a class=\"reference external\" href=\"https://docs.python.org/3/library/faulthandler.html#faulthandler.enable\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">faulthandler.enable()</code></a>，这允许它在解释器崩溃时打印一个回溯信息。传递 <code class=\"docutils literal notranslate\">--no-faulthandler</code> 来禁止这种行为。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-test-timing\">\n<span class=\"sig-name descname\">--timing</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-test-timing\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>输出时间，包括数据库设置和总运行时间。</p>\n</section>\n</section>\n<section id=\"testserver\">\n<h3><code class=\"docutils literal notranslate\">testserver</code><a class=\"heading-anchor\" href=\"#testserver\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-testserver\">\n<span class=\"sig-name descname\">django-admin testserver [fixture [fixture ...]]</span><a class=\"heading-anchor\" href=\"#django-admin-testserver\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>使用给定固定数据中的数据运行一个 Django 开发服务器（如 <a class=\"reference internal\" href=\"#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a>）。</p>\n<p>例如，这个命令：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin testserver mydata.json</span>\n</code></pre></div>\n<p>...将执行以下步骤：</p>\n<ol class=\"arabic simple\">\n<li><p>按照 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/overview/#the-test-database\"><span class=\"std std-ref\">测试数据库</span></a> 中的描述，创建一个测试数据库。</p></li>\n<li><p>用给定固定数据的数据填充测试数据库。关于固定数据的更多信息，请参见上面的 <a class=\"reference internal\" href=\"#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\">loaddata</code></a> 的文档）。</p></li>\n<li><p>运行 Django 开发服务器（如 <a class=\"reference internal\" href=\"#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a>），指向这个新创建的测试数据库，而不是你的生产数据库。</p></li>\n</ol>\n<p>这在很多方面都很有用：</p>\n<ul class=\"simple\">\n<li><p>当你在写 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/testing/overview/\"><span class=\"doc\">单元测试</span></a> 时，你的视图如何与某些固定数据一起行动，你可以使用 <code class=\"docutils literal notranslate\">testserver</code> 在网络浏览器中手动与视图互动。</p></li>\n<li><p>假设你正在开发你的 Django 应用程序，并且有一个“原始”的数据库副本，你想要与之交互。你可以将数据库转储为一个 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/db/fixtures/#fixtures-explanation\"><span class=\"std std-ref\">fixture</span></a> （使用上面介绍的 <a class=\"reference internal\" href=\"#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\">dumpdata</code></a> 命令），然后使用 <code class=\"docutils literal notranslate\">testserver</code> 运行你的 Web 应用程序，并使用那些数据。通过这种安排，你可以灵活地对数据进行任何更改，因为你知道你所做的任何数据更改只会影响测试数据库。</p></li>\n</ul>\n<p>请注意，这个服务器 <em>不会</em> 自动检测你的 Python 源代码的变化（就像 <code class=\"xref std std-djadmin docutils literal notranslate\">srunerver</code> 那样)。但是，它可以检测到对模板的更改。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-testserver-addrport\">\n<span class=\"sig-name descname\">--addrport</span><span class=\"sig-prename descclassname\"> ADDRPORT</span><a class=\"heading-anchor\" href=\"#cmdoption-testserver-addrport\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定与默认的 <code class=\"docutils literal notranslate\">127.0.0.1:8000</code> 不同的端口或 IP 地址和端口。这个值的格式和作用与 <a class=\"reference internal\" href=\"#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a> 命令的参数完全相同。</p>\n<p>举例：</p>\n<p>要在端口 7000 上运行测试服务器并使用 <code class=\"docutils literal notranslate\">fixture1</code> 和 <code class=\"docutils literal notranslate\">fixture2</code>：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin testserver --addrport 7000 fixture1 fixture2</span>\n<span class=\"go\">django-admin testserver fixture1 fixture2 --addrport 7000</span>\n</code></pre></div>\n<p>（上面的语句是等价的。我们把这两句话都包括在内，是为了证明选项是在固定数据参数之前还是之后并不重要。）</p>\n<p>要在 1.2.3.4:7000 上运行，并使用 <code class=\"docutils literal notranslate\">test</code> fixture：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin testserver --addrport 1.2.3.4:7000 test</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-testserver-noinput\">\n<span id=\"cmdoption-testserver-no-input\"></span><span class=\"sig-name descname\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-testserver-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>压制所有用户提示。一个典型的提示是关于删除现有测试数据库的警告。</p>\n</section>\n</section>\n<section id=\"commands-provided-by-applications\">\n<h2>应用程序提供的命令<a class=\"heading-anchor\" href=\"#commands-provided-by-applications\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>有些命令只有 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">enabled</code></a> <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/custom-management-commands/\"><span class=\"doc\">实现</span></a> 它们的 <code class=\"docutils literal notranslate\">django.contrib</code> 应用程序时才可用。本节将按照应用来介绍这些命令。</p>\n<section id=\"django-contrib-auth\">\n<h3><code class=\"docutils literal notranslate\">django.contrib.auth</code><a class=\"heading-anchor\" href=\"#django-contrib-auth\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"changepassword\">\n<h4><code class=\"docutils literal notranslate\">changepassword</code><a class=\"heading-anchor\" href=\"#changepassword\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-changepassword\">\n<span class=\"sig-name descname\">django-admin changepassword [&lt;username&gt;]</span><a class=\"heading-anchor\" href=\"#django-admin-changepassword\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>只有安装了 Django 的 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/auth/\"><span class=\"doc\">认证系统</span></a> （<code class=\"docutils literal notranslate\">django.contrib.auth</code>），这个命令才有效。</p>\n<p>允许更改用户的密码。它提示你为给定的用户输入两次新密码。如果输入的密码相同，则立即成为新密码。如果你没有提供用户，命令将尝试更改与当前用户用户名匹配的密码。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-changepassword-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-changepassword-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要为用户查询的数据库。默认为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin changepassword ringo</span>\n</code></pre></div>\n</section>\n<section id=\"createsuperuser\">\n<h4><code class=\"docutils literal notranslate\">createsuperuser</code><a class=\"heading-anchor\" href=\"#createsuperuser\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-createsuperuser\">\n<span class=\"sig-name descname\">django-admin createsuperuser</span><a class=\"heading-anchor\" href=\"#django-admin-createsuperuser\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"std envvar\">\n<dt class=\"sig sig-object std\" id=\"envvar-DJANGO_SUPERUSER_PASSWORD\">\n<span class=\"sig-name descname\">DJANGO_SUPERUSER_PASSWORD</span><a class=\"heading-anchor\" href=\"#envvar-DJANGO_SUPERUSER_PASSWORD\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>只有安装了 Django 的 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/auth/\"><span class=\"doc\">认证系统</span></a> （<code class=\"docutils literal notranslate\">django.contrib.auth</code>），这个命令才有效。</p>\n<p>创建一个超级用户账户（拥有所有权限的用户）。如果你需要创建一个初始的超级用户账户，或者你需要为你的网站程序化地生成超级用户账户，这很有用。</p>\n<p>当交互式运行时，该命令将提示为新的超级用户账户提供密码。非交互式运行时，可以通过设置 <span class=\"target\" id=\"index-29\"></span><a class=\"reference internal\" href=\"#envvar-DJANGO_SUPERUSER_PASSWORD\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_SUPERUSER_PASSWORD</code></a> 环境变量提供密码。否则，将不设置密码，超级用户账户将无法登录，直到手动为其设置密码。</p>\n<p>在非交互模式下， <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/auth/customizing/#django.contrib.auth.models.CustomUser.USERNAME_FIELD\" title=\"django.contrib.auth.models.CustomUser.USERNAME_FIELD\"><code class=\"xref py py-attr docutils literal notranslate\">USERNAME_FIELD</code></a> 和必填字段（列在 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/auth/customizing/#django.contrib.auth.models.CustomUser.REQUIRED_FIELDS\" title=\"django.contrib.auth.models.CustomUser.REQUIRED_FIELDS\"><code class=\"xref py py-attr docutils literal notranslate\">REQUIRED_FIELDS</code></a> 中）回落到 <code class=\"docutils literal notranslate\">DJANGO_SUPERUSER_&lt;uppercase_field_name&gt;</code> 环境变量，除非它们被命令行参数覆盖。例如，要提供一个 <code class=\"docutils literal notranslate\">email</code> 字段，你可以使用 <code class=\"docutils literal notranslate\">DJANGO_SUPERUSER_EMAIL</code> 环境变量。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-createsuperuser-noinput\">\n<span id=\"cmdoption-createsuperuser-no-input\"></span><span class=\"sig-name descname\">--noinput</span><span class=\"sig-prename descclassname\"></span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">--no-input</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-createsuperuser-noinput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>压制所有用户提示。如果被抑制的提示不能自动解决，命令将以 error code 1 退出。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-createsuperuser-username\">\n<span class=\"sig-name descname\">--username</span><span class=\"sig-prename descclassname\"> USERNAME</span><a class=\"heading-anchor\" href=\"#cmdoption-createsuperuser-username\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-createsuperuser-email\">\n<span class=\"sig-name descname\">--email</span><span class=\"sig-prename descclassname\"> EMAIL</span><a class=\"heading-anchor\" href=\"#cmdoption-createsuperuser-email\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>新账户的用户名和电子邮件地址可以通过使用命令行中的 <code class=\"docutils literal notranslate\">--username</code> 和 <code class=\"docutils literal notranslate\">--email</code> 参数来提供。如果没有提供这两个参数中的任何一个，<code class=\"docutils literal notranslate\">createsuperuser</code> 将在交互式运行时提示输入。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-createsuperuser-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-createsuperuser-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定保存超级用户对象的数据库。</p>\n<p>如果你想自定义数据输入和验证，可以子类管理命令，并覆盖 <code class=\"docutils literal notranslate\">get_input_data()</code>。关于现有的实现和方法的参数，请查阅源代码。例如，如果你在 <a class=\"reference internal\" href=\"/zh-hans/4.2/topics/auth/customizing/#django.contrib.auth.models.CustomUser.REQUIRED_FIELDS\" title=\"django.contrib.auth.models.CustomUser.REQUIRED_FIELDS\"><code class=\"xref py py-attr docutils literal notranslate\">REQUIRED_FIELDS</code></a> 中有一个 <code class=\"docutils literal notranslate\">ForeignKey</code>，并且希望允许创建一个实例，而不是输入现有实例的主键，这可能是有用的。</p>\n</section>\n</section>\n<section id=\"django-contrib-contenttypes\">\n<h3><code class=\"docutils literal notranslate\">django.contrib.contenttypes</code><a class=\"heading-anchor\" href=\"#django-contrib-contenttypes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"remove-stale-contenttypes\">\n<h4><code class=\"docutils literal notranslate\">remove_stale_contenttypes</code><a class=\"heading-anchor\" href=\"#remove-stale-contenttypes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-remove_stale_contenttypes\">\n<span class=\"sig-name descname\">django-admin remove_stale_contenttypes</span><a class=\"heading-anchor\" href=\"#django-admin-remove_stale_contenttypes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>只有安装了 Django 的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/contenttypes/\"><span class=\"doc\">contenttypes 应用</span></a> （ <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/contenttypes/#module-django.contrib.contenttypes\" title=\"django.contrib.contenttypes: Provides generic interface to installed models.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.contenttypes</code></a>），这个命令才有效。</p>\n<p>删除数据库中陈旧的内容类型（来自已删除的模型）。依赖于已删除内容类型的任何对象也将被删除。在你确认可以继续删除之前，将显示一个已删除对象的列表。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-remove_stale_contenttypes-database\">\n<span class=\"sig-name descname\">--database</span><span class=\"sig-prename descclassname\"> DATABASE</span><a class=\"heading-anchor\" href=\"#cmdoption-remove_stale_contenttypes-database\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要使用的数据库。默认为 <code class=\"docutils literal notranslate\">default</code>。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-remove_stale_contenttypes-include-stale-apps\">\n<span class=\"sig-name descname\">--include-stale-apps</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-remove_stale_contenttypes-include-stale-apps\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>删除陈旧的内容类型，包括以前安装的应用程序的内容类型，这些内容类型已经从 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> 中删除。默认值为 <code class=\"docutils literal notranslate\">False</code>。</p>\n</section>\n</section>\n<section id=\"django-contrib-gis\">\n<h3><code class=\"docutils literal notranslate\">django.contrib.gis</code><a class=\"heading-anchor\" href=\"#django-contrib-gis\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"ogrinspect\">\n<h4><code class=\"docutils literal notranslate\">ogrinspect</code><a class=\"heading-anchor\" href=\"#ogrinspect\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>只有在安装了 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/gis/\"><span class=\"doc\">GeoDjango</span></a> （<code class=\"docutils literal notranslate\">django.contrib.gis</code>）的情况下，该命令才可用。</p>\n<p>请参考 GeoDjango 文档中它的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/gis/commands/#django-admin-ogrinspect\"><code class=\"xref std std-djadmin docutils literal notranslate\">描述</code></a>。</p>\n</section>\n</section>\n<section id=\"django-contrib-sessions\">\n<h3><code class=\"docutils literal notranslate\">django.contrib.sessions</code><a class=\"heading-anchor\" href=\"#django-contrib-sessions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"clearsessions\">\n<h4><code class=\"docutils literal notranslate\">clearsessions</code><a class=\"heading-anchor\" href=\"#clearsessions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"std django-admin\">\n<dt class=\"sig sig-object std\" id=\"django-admin-clearsessions\">\n<span class=\"sig-name descname\">django-admin clearsessions</span><a class=\"heading-anchor\" href=\"#django-admin-clearsessions\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>可以以定时任务的形式运行，也可以直接清理过期会话。</p>\n</section>\n</section>\n<section id=\"django-contrib-sitemaps\">\n<h3><code class=\"docutils literal notranslate\">django.contrib.sitemaps</code><a class=\"heading-anchor\" href=\"#django-contrib-sitemaps\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"ping-google\">\n<h4><code class=\"docutils literal notranslate\">ping_google</code><a class=\"heading-anchor\" href=\"#ping-google\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>只有安装了 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/sitemaps/\"><span class=\"doc\">站点地图框架</span></a> （<code class=\"docutils literal notranslate\">django.contrib.sitemaps</code>），该命令才可用。</p>\n<p>请参考站点地图文档中的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/sitemaps/#django-admin-ping_google\"><code class=\"xref std std-djadmin docutils literal notranslate\">描述</code></a>。</p>\n</section>\n</section>\n<section id=\"django-contrib-staticfiles\">\n<h3><code class=\"docutils literal notranslate\">django.contrib.staticfiles</code><a class=\"heading-anchor\" href=\"#django-contrib-staticfiles\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"collectstatic\">\n<h4><code class=\"docutils literal notranslate\">collectstatic</code><a class=\"heading-anchor\" href=\"#collectstatic\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>只有安装了 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/static-files/\"><span class=\"doc\">静态文件应用程序</span></a> （<code class=\"docutils literal notranslate\">django.contrib.staticfiles</code>），该命令才可用。</p>\n<p>请参考它的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/staticfiles/\"><span class=\"doc\">静态文件</span></a> 文档中的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">描述</code></a>。</p>\n</section>\n<section id=\"findstatic\">\n<h4><code class=\"docutils literal notranslate\">findstatic</code><a class=\"heading-anchor\" href=\"#findstatic\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>只有安装了 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/static-files/\"><span class=\"doc\">静态文件应用程序</span></a> （<code class=\"docutils literal notranslate\">django.contrib.staticfiles</code>），该命令才可用。</p>\n<p>请参考它的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/staticfiles/\"><span class=\"doc\">静态文件</span></a> 文档中的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/staticfiles/#django-admin-findstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">描述</code></a>。</p>\n</section>\n</section>\n</section>\n<section id=\"default-options\">\n<h2>默认选项<a class=\"heading-anchor\" href=\"#default-options\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>尽管有些命令可能允许自己的自定义选项，但每个命令都默认允许以下选项：</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-pythonpath\">\n<span class=\"sig-name descname\">--pythonpath</span><span class=\"sig-prename descclassname\"> PYTHONPATH</span><a class=\"heading-anchor\" href=\"#cmdoption-pythonpath\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>将给定的文件系统路径添加到 Python <a class=\"reference external\" href=\"https://diveinto.org/python3/your-first-python-program.html#importsearchpath\">import 搜索路径</a> 中。如果没有提供，<code class=\"docutils literal notranslate\">django-admin</code> 将使用 <span class=\"target\" id=\"index-30\"></span><a class=\"reference external\" href=\"https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH\" title=\"(in Python v3.14)\"><code class=\"xref std std-envvar docutils literal notranslate\">PYTHONPATH</code></a> 环境变量。</p>\n<p>这个选项在 <code class=\"docutils literal notranslate\">manage.py</code> 中是不必要的，因为它为你设置了 Python 路径。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin migrate --pythonpath=&#39;/home/djangoprojects/myproject&#39;</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-settings\">\n<span class=\"sig-name descname\">--settings</span><span class=\"sig-prename descclassname\"> SETTINGS</span><a class=\"heading-anchor\" href=\"#cmdoption-settings\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定要使用的配置模块。配置模块应该使用 Python 包语法，例如 <code class=\"docutils literal notranslate\">mysite.settings</code>。如果没有提供，<code class=\"docutils literal notranslate\">django-admin</code> 将使用 <span class=\"target\" id=\"index-31\"></span><a class=\"reference internal\" href=\"/zh-hans/4.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_SETTINGS_MODULE</code></a> 环境变量。</p>\n<p>这个选项在 <code class=\"docutils literal notranslate\">manage.py</code> 中是不必要的，因为它默认使用当前项目中的 <code class=\"docutils literal notranslate\">settings.py</code>。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin migrate --settings=mysite.settings</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-traceback\">\n<span class=\"sig-name descname\">--traceback</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-traceback\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>当发生 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/custom-management-commands/#django.core.management.CommandError\" title=\"django.core.management.CommandError\"><code class=\"xref py py-exc docutils literal notranslate\">CommandError</code></a> 时，显示完整的堆栈跟踪。默认情况下，<code class=\"docutils literal notranslate\">django-admin</code> 将在发生 <code class=\"docutils literal notranslate\">CommandError</code> 时显示一个错误信息，并对任何其他异常显示一个完整的堆栈跟踪。</p>\n<p>这个选项被 <a class=\"reference internal\" href=\"#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a> 忽略。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin migrate --traceback</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-verbosity\">\n<span id=\"cmdoption-v\"></span><span class=\"sig-name descname\">--verbosity</span><span class=\"sig-prename descclassname\"> {0,1,2,3}</span><span class=\"sig-prename descclassname\">, </span><span class=\"sig-name descname\">-v</span><span class=\"sig-prename descclassname\"> {0,1,2,3}</span><a class=\"heading-anchor\" href=\"#cmdoption-verbosity\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>指定命令应打印到控制台的通知和调试信息的数量。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">0</code> 表示没有输出。</p></li>\n<li><p><code class=\"docutils literal notranslate\">1</code> 表示正常输出（默认）。</p></li>\n<li><p><code class=\"docutils literal notranslate\">2</code> 表示详细输出。</p></li>\n<li><p><code class=\"docutils literal notranslate\">3</code> 表示 <em>非常</em> 详细输出。</p></li>\n</ul>\n<p>这个选项被 <a class=\"reference internal\" href=\"#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a> 忽略。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin migrate --verbosity 2</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-no-color\">\n<span class=\"sig-name descname\">--no-color</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-no-color\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>禁用彩色化的命令输出。 有些命令会将其输出格式化为彩色。例如，错误将以红色打印到控制台，SQL 语句将以语法高亮显示。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin runserver --no-color</span>\n</code></pre></div>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-force-color\">\n<span class=\"sig-name descname\">--force-color</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-force-color\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>强制对命令输出进行着色，如果不这样做的话，就会像 <a class=\"reference internal\" href=\"#syntax-coloring\"><span class=\"std std-ref\">语法着色</span></a> 中所讨论的那样被禁用。例如，你可能希望将彩色输出管道到另一个命令。</p>\n<dl class=\"django-admin-option\">\n<dt class=\"sig sig-object\" id=\"cmdoption-skip-checks\">\n<span class=\"sig-name descname\">--skip-checks</span><span class=\"sig-prename descclassname\"></span><a class=\"heading-anchor\" href=\"#cmdoption-skip-checks\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>在运行命令之前，跳过运行系统检查。这个选项只有在 <code class=\"xref py py-attr docutils literal notranslate\">required_system_checks</code> 命令属性不是一个空列表或元组时才可用。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"go\">django-admin migrate --skip-checks</span>\n</code></pre></div>\n</section>\n<section id=\"extra-niceties\">\n<h2>额外的细节<a class=\"heading-anchor\" href=\"#extra-niceties\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"syntax-coloring\">\n<span id=\"id1\"></span><h3>语法着色<a class=\"heading-anchor\" href=\"#syntax-coloring\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"std envvar\">\n<dt class=\"sig sig-object std\" id=\"envvar-DJANGO_COLORS\">\n<span class=\"sig-name descname\">DJANGO_COLORS</span><a class=\"heading-anchor\" href=\"#envvar-DJANGO_COLORS\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\">django-admin</code> ／ <code class=\"docutils literal notranslate\">manage.py</code> 命令会使用漂亮的彩色编码输出，如果你的终端支持 ANSI 彩色输出的话。如果你把命令的输出用管道传送到另一个程序，它不会使用颜色代码，除非使用 <a class=\"reference internal\" href=\"#cmdoption-force-color\"><code class=\"xref std std-option docutils literal notranslate\">--force-color</code></a> 选项。</p>\n<section id=\"windows-support\">\n<h4>Windows 支持<a class=\"heading-anchor\" href=\"#windows-support\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>在 Windows 10 上，<a class=\"reference external\" href=\"https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701\">Windows Terminal</a> 应用程序、<a class=\"reference external\" href=\"https://code.visualstudio.com\">VS Code</a> 和 PowerShell（启用虚拟终端处理）允许彩色输出，并且默认支持。</p>\n<p>在 Windows 下，传统的 <code class=\"docutils literal notranslate\">cmd.exe</code> 本地控制台不支持 ANSI 转义序列，所以默认情况下没有彩色输出。在这种情况下，需要两个第三方库中的一个：</p>\n<ul>\n<li><p>安装 <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/colorama/\">colorama</a>，这是一个将 ANSI 颜色代码转化为 Windows API 调用的 Python 包。Django 命令会检测到其存在，并将使用其服务来使输出具有类似 Unix 平台上的颜色效果。可以使用 pip 安装 <code class=\"docutils literal notranslate\">colorama</code>：</p>\n<div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows code\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install colorama\n</code></pre></div>\n</li>\n<li><p>安装 <a class=\"reference external\" href=\"http://adoxa.altervista.org/ansicon/\">ANSICON</a> ，一个第三方工具，允许 <code class=\"docutils literal notranslate\">cmd.exe</code> 处理 ANSI 颜色代码。Django 命令会检测到它的存在，并利用它的服务为输出着色，就像在基于 Unix 的平台上一样。</p></li>\n</ul>\n<p>在 Windows 上的其他现代终端环境，支持终端颜色，但没有被 Django 自动检测到，可以通过设置适当的环境变量 <code class=\"docutils literal notranslate\">ANSICON=&quot;on&quot;</code> 来 “假装” 安装 <code class=\"docutils literal notranslate\">ANSICON</code>。</p>\n</section>\n<section id=\"custom-colors\">\n<h4>自定义颜色<a class=\"heading-anchor\" href=\"#custom-colors\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>语法高亮的颜色是可以自定义的。Django 有三种调色板：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">dark</code>，适合在黑色背景上显示白色文字的终端。这是默认的调色板。</p></li>\n<li><p><code class=\"docutils literal notranslate\">light</code>，适用于白底黑字的终端。</p></li>\n<li><p><code class=\"docutils literal notranslate\">nocolor</code>，禁用语法高亮。</p></li>\n</ul>\n<p>你可以通过设置 <span class=\"target\" id=\"index-32\"></span><a class=\"reference internal\" href=\"#envvar-DJANGO_COLORS\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_COLORS</code></a> 环境变量来选择一个调色板，以指定你想要使用的调色板。例如，在 Unix 或 OS/X BASH shell 下指定 <code class=\"docutils literal notranslate\">light</code> 调色板，你可以在命令提示符下运行以下命令：</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"nb\">export</span> <span class=\"nv\">DJANGO_COLORS</span><span class=\"o\">=</span><span class=\"s2\">&quot;light&quot;</span>\n</code></pre></div>\n<p>你也可以自定义使用的颜色。Django 指定了一些使用颜色的角色：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">error</code> - 一个重大错误。</p></li>\n<li><p><code class=\"docutils literal notranslate\">notice</code> - 一个小错误。</p></li>\n<li><p><code class=\"docutils literal notranslate\">success</code> - 成功。</p></li>\n<li><p><code class=\"docutils literal notranslate\">warning</code> - 警告。</p></li>\n<li><p><code class=\"docutils literal notranslate\">sql_field</code> - SQL 中模型字段的名称。</p></li>\n<li><p><code class=\"docutils literal notranslate\">sql_coltype</code> - SQL 中模型字段的类型。</p></li>\n<li><p><code class=\"docutils literal notranslate\">sql_keyword</code> - 一个 SQL 关键字。</p></li>\n<li><p><code class=\"docutils literal notranslate\">sql_table</code> - SQL 中的模型名称。</p></li>\n<li><p><code class=\"docutils literal notranslate\">http_info</code> - 一个 1XX 的 HTTP Informational 服务器响应。</p></li>\n<li><p><code class=\"docutils literal notranslate\">http_success</code> - 一个 2XX 的 HTTP Success 服务器响应。</p></li>\n<li><p><code class=\"docutils literal notranslate\">http_not_modified</code> - 一个 304 HTTP Not Modified 服务器响应。</p></li>\n<li><p><code class=\"docutils literal notranslate\">http_redirect</code> - 一个除 304 之外的 3XX HTTP 重定向服务器响应。</p></li>\n<li><p><code class=\"docutils literal notranslate\">http_not_found</code> - 一个 404 HTTP Not Found 服务器响应。</p></li>\n<li><p><code class=\"docutils literal notranslate\">http_bad_request</code> - 一个除了 404 之外的 4XX HTTP Bad Request 服务器响应。</p></li>\n<li><p><code class=\"docutils literal notranslate\">http_server_error</code> - 5XX HTTP 服务器错误响应。</p></li>\n<li><p><code class=\"docutils literal notranslate\">migrate_heading</code> - 迁移管理命令中的标题。</p></li>\n<li><p><code class=\"docutils literal notranslate\">migrate_label</code> - 迁移名称。</p></li>\n</ul>\n<p>这些角色中的每一个都可以从以下列表中指定特定的前景和背景颜色：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">black</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">red</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">green</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">yellow</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">blue</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">magenta</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">cyan</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">white</code></p></li>\n</ul>\n<p>然后可以通过使用以下显示选项来修改这些颜色：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">bold</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">underscore</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">blink</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">reverse</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">conceal</code></p></li>\n</ul>\n<p>颜色规格遵循以下模式之一：</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">role=fg</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">role=fg/bg</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">role=fg,option,option</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">role=fg/bg,option,option</code></p></li>\n</ul>\n<p>其中，<code class=\"docutils literal notranslate\">role</code> 是有效颜色角色的名称，<code class=\"docutils literal notranslate\">fg</code> 是前景颜色，<code class=\"docutils literal notranslate\">bg</code> 是背景颜色，每个 <code class=\"docutils literal notranslate\">option</code> 都是颜色修改选项之一。多个颜色规范之间用分号分隔。例如：</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"nb\">export</span> <span class=\"nv\">DJANGO_COLORS</span><span class=\"o\">=</span><span class=\"s2\">&quot;error=yellow/blue,blink;notice=magenta&quot;</span>\n</code></pre></div>\n<p>将指定使用蓝色上闪烁的黄色显示错误，使用洋红色显示通知。所有其他颜色角色将不着色。</p>\n<p>颜色也可以通过扩展基本调色板来指定。如果在颜色规范中放置了一个调色板名称，那么将加载由该调色板暗示的所有颜色。所以：</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"nb\">export</span> <span class=\"nv\">DJANGO_COLORS</span><span class=\"o\">=</span><span class=\"s2\">&quot;light;error=yellow/blue,blink;notice=magenta&quot;</span>\n</code></pre></div>\n<p>将指定使用浅色调色板中的所有颜色，<em>除了</em> 错误和通知的颜色，这些颜色将被覆盖。</p>\n</section>\n</section>\n<section id=\"bash-completion\">\n<h3>Bash 补全<a class=\"heading-anchor\" href=\"#bash-completion\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>如果你使用 Bash shell，请考虑安装 Django bash 补全脚本，它位于 Django 源分发中的 <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/4.2.x/extras/django_bash_completion\">extras/django_bash_completion</a>。它启用了对 <code class=\"docutils literal notranslate\">django-admin</code> 和 <code class=\"docutils literal notranslate\">manage.py</code> 命令的制表符自动补全，这样你可以，例如...</p>\n<ul class=\"simple\">\n<li><p>输入 <code class=\"docutils literal notranslate\">django-admin</code>。</p></li>\n<li><p>按 [TAB] 查看所有可用选项。</p></li>\n<li><p>输入 <code class=\"docutils literal notranslate\">sql</code>，然后输入 [TAB]，查看所有名称以 <code class=\"docutils literal notranslate\">sql</code> 开头的可用选项。</p></li>\n</ul>\n<p>关于如何添加自定义动作，请参见 <a class=\"reference internal\" href=\"/zh-hans/4.2/howto/custom-management-commands/\"><span class=\"doc\">编写自定义 django-admin 命令</span></a>。</p>\n</section>\n<section id=\"black-formatting\">\n<h3>Black 格式化<a class=\"heading-anchor\" href=\"#black-formatting\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"version-note version-added\" data-version=\"4.1\" role=\"note\">\n<p class=\"version-note-title\">New in Django 4.1</p></aside>\n<p>由 <a class=\"reference internal\" href=\"#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\">startproject</code></a>、<a class=\"reference internal\" href=\"#django-admin-startapp\"><code class=\"xref std std-djadmin docutils literal notranslate\">startapp</code></a>、<a class=\"reference internal\" href=\"#django-admin-optimizemigration\"><code class=\"xref std std-djadmin docutils literal notranslate\">optimizemigration</code></a>、<a class=\"reference internal\" href=\"#django-admin-makemigrations\"><code class=\"xref std std-djadmin docutils literal notranslate\">makemigrations</code></a> 和 <a class=\"reference internal\" href=\"#django-admin-squashmigrations\"><code class=\"xref std std-djadmin docutils literal notranslate\">squashmigrations</code></a> 创建的 Python 文件将使用 <code class=\"docutils literal notranslate\">black</code> 命令进行格式化，如果它存在于你的 <code class=\"docutils literal notranslate\">PATH</code> 中的话。</p>\n<p>如果你已经全局安装了 <code class=\"docutils literal notranslate\">black</code>，但不希望它用于当前项目，你可以显式设置 <code class=\"docutils literal notranslate\">PATH</code>：</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"nv\">PATH</span><span class=\"o\">=</span>path/to/venv/bin django-admin makemigrations\n</code></pre></div>\n<p>对于使用 <code class=\"docutils literal notranslate\">stdout</code> 的命令，如果需要，你可以将输出导向到 <code class=\"docutils literal notranslate\">black</code>：</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>django-admin inspectdb <span class=\"p\">|</span> black -\n</code></pre></div>\n</section>\n</section>\n</section>\n<section id=\"running-management-commands-from-your-code\">\n<h1>从你的代码中运行管理命令<a class=\"heading-anchor\" href=\"#running-management-commands-from-your-code\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.call_command\">\n<span class=\"sig-prename descclassname\">django.core.management.</span><span class=\"sig-name descname\">call_command</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">name</em>, <em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.call_command\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>要从代码中调用管理命令，使用 <code class=\"docutils literal notranslate\">call_command</code>。</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\">name</code></dt><dd><p>要调用的命令名称或命令对象的名称。除非测试时需要该对象，否则最好传递名称。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">*args</code></dt><dd><p>命令接受的参数列表。参数被传递给参数解析器，所以你可以使用与命令行相同的风格。例如，<code class=\"docutils literal notranslate\">call_command('flush', '--verbosity=0')</code>。</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\">**options</code></dt><dd><p>在命令行中接受的命名选项。选项传递给命令时不会触发参数解析器，这意味着你需要传递正确的类型。例如，<code class=\"docutils literal notranslate\">call_command('flush', verbosity=0)</code> （0 必须是一个整数而不是字符串）。</p>\n</dd>\n</dl>\n<p>举例：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.core</span> <span class=\"kn\">import</span> management\n<span class=\"kn\">from</span> <span class=\"nn\">django.core.management.commands</span> <span class=\"kn\">import</span> loaddata\n\nmanagement<span class=\"o\">.</span>call_command<span class=\"p\">(</span><span class=\"s2\">&quot;flush&quot;</span><span class=\"p\">,</span> verbosity<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">,</span> interactive<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\nmanagement<span class=\"o\">.</span>call_command<span class=\"p\">(</span><span class=\"s2\">&quot;loaddata&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;test_data&quot;</span><span class=\"p\">,</span> verbosity<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\nmanagement<span class=\"o\">.</span>call_command<span class=\"p\">(</span>loaddata<span class=\"o\">.</span>Command<span class=\"p\">(),</span> <span class=\"s2\">&quot;test_data&quot;</span><span class=\"p\">,</span> verbosity<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>需要注意的是，没有参数的命令选项是以关键字 <code class=\"docutils literal notranslate\">True</code> 或 <code class=\"docutils literal notranslate\">False</code> 的形式传递的，如上面的 <code class=\"docutils literal notranslate\">interactive</code> 选项。</p>\n<p>命名的参数可以通过使用以下任何一种语法来传递：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Similar to the command line</span>\nmanagement<span class=\"o\">.</span>call_command<span class=\"p\">(</span><span class=\"s2\">&quot;dumpdata&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;--natural-foreign&quot;</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Named argument similar to the command line minus the initial dashes and</span>\n<span class=\"c1\"># with internal dashes replaced by underscores</span>\nmanagement<span class=\"o\">.</span>call_command<span class=\"p\">(</span><span class=\"s2\">&quot;dumpdata&quot;</span><span class=\"p\">,</span> natural_foreign<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># `use_natural_foreign_keys` is the option destination variable</span>\nmanagement<span class=\"o\">.</span>call_command<span class=\"p\">(</span><span class=\"s2\">&quot;dumpdata&quot;</span><span class=\"p\">,</span> use_natural_foreign_keys<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>当使用 <code class=\"docutils literal notranslate\">call_command()</code> 而不是 <code class=\"docutils literal notranslate\">django-admin</code> 或 <code class=\"docutils literal notranslate\">manage.py</code> 时，一些命令选项有不同的名称。例如，<code class=\"docutils literal notranslate\">django-admin createsuperuser --no-input</code> 翻译成 <code class=\"docutils literal notranslate\">call_command('creasuperuser', interactive=False)</code>。要找到 <code class=\"docutils literal notranslate\">call_command()</code> 的关键字参数名，请检查命令的源代码中传递给 <code class=\"docutils literal notranslate\">parser.add_argument()</code> 的 <code class=\"docutils literal notranslate\">dest</code> 参数。</p>\n<p>取多个选项的命令选项会通过一个列表：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>management<span class=\"o\">.</span>call_command<span class=\"p\">(</span><span class=\"s2\">&quot;dumpdata&quot;</span><span class=\"p\">,</span> exclude<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;contenttypes&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;auth&quot;</span><span class=\"p\">])</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">call_command()</code> 函数的返回值与命令的 <code class=\"docutils literal notranslate\">handle()</code> 方法的返回值相同。</p>\n<section id=\"output-redirection\">\n<h2>输出重定向<a class=\"heading-anchor\" href=\"#output-redirection\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>注意，你可以重定向标准输出和错误流，因为所有命令都支持 <code class=\"docutils literal notranslate\">stdout</code> 和 <code class=\"docutils literal notranslate\">stderr</code> 选项。例如，你可以写：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">with</span> <span class=\"nb\">open</span><span class=\"p\">(</span><span class=\"s2\">&quot;/path/to/command_output&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;w&quot;</span><span class=\"p\">)</span> <span class=\"k\">as</span> f<span class=\"p\">:</span>\n    management<span class=\"o\">.</span>call_command<span class=\"p\">(</span><span class=\"s2\">&quot;dumpdata&quot;</span><span class=\"p\">,</span> stdout<span class=\"o\">=</span>f<span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n","rootId":"","toc":[{"title":"django-admin 和 manage.py","anchor":"","children":[{"title":"用法","anchor":"usage","children":[{"title":"获得运行时帮助","anchor":"getting-runtime-help","children":[]},{"title":"应用名称","anchor":"app-names","children":[]},{"title":"确定版本","anchor":"determining-the-version","children":[]},{"title":"显示 debug 输出","anchor":"displaying-debug-output","children":[]}]},{"title":"可用命令","anchor":"available-commands","children":[{"title":"check","anchor":"check","children":[]},{"title":"compilemessages","anchor":"compilemessages","children":[]},{"title":"createcachetable","anchor":"createcachetable","children":[]},{"title":"dbshell","anchor":"dbshell","children":[]},{"title":"diffsettings","anchor":"diffsettings","children":[]},{"title":"dumpdata","anchor":"dumpdata","children":[{"title":"固定数据压缩","anchor":"fixtures-compression","children":[]}]},{"title":"flush","anchor":"flush","children":[]},{"title":"inspectdb","anchor":"inspectdb","children":[{"title":"特定于数据库的注释","anchor":"database-specific-notes","children":[{"title":"Oracle","anchor":"oracle","children":[]},{"title":"PostgreSQL","anchor":"postgresql","children":[]}]}]},{"title":"loaddata","anchor":"loaddata","children":[{"title":"从 stdin 加载固定数据","anchor":"loading-fixtures-from-stdin","children":[]}]},{"title":"makemessages","anchor":"makemessages","children":[]},{"title":"makemigrations","anchor":"makemigrations","children":[]},{"title":"migrate","anchor":"migrate","children":[]},{"title":"optimizemigration","anchor":"optimizemigration","children":[]},{"title":"runserver","anchor":"runserver","children":[{"title":"使用不同端口和地址的例子","anchor":"examples-of-using-different-ports-and-addresses","children":[]},{"title":"用开发服务器服务静态文件","anchor":"serving-static-files-with-the-development-server","children":[]},{"title":"在开发中使用 ASGI 进行服务","anchor":"serving-with-asgi-in-development","children":[]}]},{"title":"sendtestemail","anchor":"sendtestemail","children":[]},{"title":"shell","anchor":"shell","children":[]},{"title":"showmigrations","anchor":"showmigrations","children":[]},{"title":"sqlflush","anchor":"sqlflush","children":[]},{"title":"sqlmigrate","anchor":"sqlmigrate","children":[]},{"title":"sqlsequencereset","anchor":"sqlsequencereset","children":[]},{"title":"squashmigrations","anchor":"squashmigrations","children":[]},{"title":"startapp","anchor":"startapp","children":[]},{"title":"startproject","anchor":"startproject","children":[]},{"title":"test","anchor":"test","children":[{"title":"测试运行器选项","anchor":"test-runner-options","children":[]}]},{"title":"testserver","anchor":"testserver","children":[]}]},{"title":"应用程序提供的命令","anchor":"commands-provided-by-applications","children":[{"title":"django.contrib.auth","anchor":"django-contrib-auth","children":[{"title":"changepassword","anchor":"changepassword","children":[]},{"title":"createsuperuser","anchor":"createsuperuser","children":[]}]},{"title":"django.contrib.contenttypes","anchor":"django-contrib-contenttypes","children":[{"title":"remove_stale_contenttypes","anchor":"remove-stale-contenttypes","children":[]}]},{"title":"django.contrib.gis","anchor":"django-contrib-gis","children":[{"title":"ogrinspect","anchor":"ogrinspect","children":[]}]},{"title":"django.contrib.sessions","anchor":"django-contrib-sessions","children":[{"title":"clearsessions","anchor":"clearsessions","children":[]}]},{"title":"django.contrib.sitemaps","anchor":"django-contrib-sitemaps","children":[{"title":"ping_google","anchor":"ping-google","children":[]}]},{"title":"django.contrib.staticfiles","anchor":"django-contrib-staticfiles","children":[{"title":"collectstatic","anchor":"collectstatic","children":[]},{"title":"findstatic","anchor":"findstatic","children":[]}]}]},{"title":"默认选项","anchor":"default-options","children":[]},{"title":"额外的细节","anchor":"extra-niceties","children":[{"title":"语法着色","anchor":"syntax-coloring","children":[{"title":"Windows 支持","anchor":"windows-support","children":[]},{"title":"自定义颜色","anchor":"custom-colors","children":[]}]},{"title":"Bash 补全","anchor":"bash-completion","children":[]},{"title":"Black 格式化","anchor":"black-formatting","children":[]}]}]},{"title":"从你的代码中运行管理命令","anchor":"running-management-commands-from-your-code","children":[{"title":"输出重定向","anchor":"output-redirection","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API 参考","url":"/zh-hans/4.2/ref/"}],"prev":{"docname":"ref/databases","title":"数据库","url":"/zh-hans/4.2/ref/databases/"},"next":{"docname":"ref/exceptions","title":"Django 异常","url":"/zh-hans/4.2/ref/exceptions/"},"formats":{"html":"/zh-hans/4.2/ref/django-admin/","markdown":"/zh-hans/4.2/ref/django-admin.md","json":"/zh-hans/4.2/ref/django-admin.json"},"source":"https://github.com/django/django/blob/stable/4.2.x/docs/ref/django-admin.txt","official":"https://docs.djangoproject.com/zh-hans/4.2/ref/django-admin/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}