瀏覽代碼

Fixed #30160 -- Added support for LZMA and XZ templates to startapp/startproject management commands.

Nick Pope 6 年之前
父節點
當前提交
f618e033ac

+ 2 - 0
django/utils/archive.py

@@ -220,5 +220,7 @@ extension_map = dict.fromkeys((
     '.tar',
     '.tar.bz2', '.tbz2', '.tbz', '.tz2',
     '.tar.gz', '.tgz', '.taz',
+    '.tar.lzma', '.tlz',
+    '.tar.xz', '.txz',
 ), TarArchive)
 extension_map['.zip'] = ZipArchive

+ 7 - 1
docs/ref/django-admin.txt

@@ -1223,7 +1223,8 @@ For example::
 
 Provides the path to a directory with a custom app template file, or a path to
 an uncompressed archive (``.tar``) or a compressed archive (``.tar.gz``,
-``.tar.bz2``, ``.tgz``, ``.tbz2``, ``.zip``) containing the app template files.
+``.tar.bz2``, ``.tar.xz``, ``.tar.lzma``, ``.tgz``, ``.tbz2``, ``.txz``,
+``.tlz``, ``.zip``) containing the app template files.
 
 For example, this would look for an app template in the given directory when
 creating the ``myapp`` app::
@@ -1239,6 +1240,11 @@ zip files, you can use a URL like::
 
     django-admin startapp --template=https://github.com/githubuser/django-app-template/archive/master.zip myapp
 
+.. versionchanged:: 3.0
+
+    Support for XZ archives (``.tar.xz``, ``.txz``) and LZMA archives
+    (``.tar.lzma``, ``.tlz``) was added.
+
 .. django-admin-option:: --extension EXTENSIONS, -e EXTENSIONS
 
 Specifies which file extensions in the app template should be rendered with the

+ 4 - 0
docs/releases/3.0.txt

@@ -250,6 +250,10 @@ Management Commands
 * The new :option:`--skip-checks` option skips running system checks prior to
   running the command.
 
+* The :option:`startapp --template` and :option:`startproject --template`
+  options now support templates stored in XZ archives (``.tar.xz``, ``.txz``)
+  and LZMA archives (``.tar.lzma``, ``.tlz``).
+
 Migrations
 ~~~~~~~~~~
 

二進制
tests/utils_tests/archives/foobar.tar.lzma


二進制
tests/utils_tests/archives/foobar.tar.xz


二進制
tests/utils_tests/archives/leadpath_foobar.tar.lzma


二進制
tests/utils_tests/archives/leadpath_foobar.tar.xz