创建可打包Django应用程序的基本框架和脚本
项目描述
Django App Skeleton
变更日志
- 1.0.3
错误修复
- 1.0.2
Windows兼容性
- 1.0.1
更新示例应用程序,使其代码与Django更同步
- 1.0
默认配置文件 .djas
- 创建虚拟环境现在是可选的
添加了用于使用虚拟环境的命令行参数
create_app 已重命名为 create_pkg
应用程序框架与Django的 startapp 命令兼容
大量代码调整,应更容易阅读和调试
查看所有更改:https://github.com/callowayproject/django-app-skeleton/pull/6
生成可打包的Django应用程序
create_pkg.py 使用多个变量在“模板”目录中进行替换。默认模板目录包含并称为“skel”。
运行脚本
首先,克隆此存储库或使用 pip 安装此包
$ pip install django-app-skeleton
脚本为交互式,尽管您可以在调用时指定一些选项。调用脚本就像
python create_pkg.py
脚本将询问它所需的一切。
Package Name: django-coolapp App Name [coolapp]: Author [johnnycool]: Johnny Cool Author Email [johnnycool@example.com]: Destination DIR [/path/to/package/destination]: Template DIR [/path/to/package/template]: Use Virtualenv [n]: y Virtualenv Name [coolapp]:
您可以在调用脚本时指定一些或所有选项。
命令行选项
以下是为 create_pkg.py 脚本提供的可能命令。如果任何值存在,则不会提示其值。
- -a, --author
作者名称。
- -e, --email
作者电子邮件。
- -p, --package
已安装包的名称,例如“django-coolapp”。
- -n, --name
应用程序名称,例如“coolapp”。
- -i, --use-venv
是否创建虚拟环境
- -v,--virtenv
要创建的虚拟环境名称。如果使用 –use-venv 参数为 y,则只使用相对路径。
- -d,--dest
新包放置的位置。相对路径将被识别。
- -t,--template
用于创建新应用的包模板。相对路径将被识别。
默认命令选项
当脚本首次运行时,会提示您输入值,或者如果通过命令行参数提供,则将一些值设置为默认值。
位于 ~/.djas 的配置文件被创建。以下是一个示例配置。
[main] author = Johnny Cool author_email = johnnycool@example.com destination_dir = /path/to/package/destination template_dir = /path/to/package/template use_venv = n
仅使用应用骨架
如果您只想使用 app 骨架,可以使用以下命令
$ django-admin.py startapp --template=/path/to/django-app-skeleton/skel/app_name
变量替换
脚本创建了一些替换变量,它使用这些变量替换文件名和文本文件中的内容。如果您想创建一个自定义的包模板,以下是在骨架中为每个文件提供的可能变量。
- app_name
由 -n,--name 或 应用程序名称 的答案提供的名称。
- pkg_name
由 -p,--package 或 包名称 的答案提供的名称。默认值是 APP_NAME 去掉 django-。
- pkg_author
由 -a,--author 或 作者 的答案提供的值。默认值是当前用户名。
- pkg_author_email
由 -e,--author_email 或 作者邮箱 的答案提供的值。
- secret_key
用于 settings.py 文件中的随机生成的字符字符串。
- venv
由 -v,--virtenv 或 虚拟环境名称 的答案提供的名称。默认值是 APP_NAME。
通过将其包围在 {{ 和 }} 之间来引用这些变量,例如 {{app_name}}。以下是从 setup.py 文件的一个示例。
setup( name = "{{app_name}}", version = __import__('{{pkg_name}}').get_version().replace(' ', '-'), url = '', author = '{{pkg_author}}',
其他注意事项
提供的 example(skel/app_name/example/)应用程序演示了如何在项目中引用您的新应用程序。为了澄清,项目名称指的是由 create_pkg 脚本创建的父目录,如果未使用 -d 开关提供,则应用名称指的是您的初始应用程序名称、开发目录等。您会发现后者如预期的那样在 example/settings.py 文件中填充。
注意:在项目和应用都使用相同名称的情况下,请不要被此混淆——除非您故意更改一些相关设置,否则只有应用名称有效。
贡献者
埃里克·弗罗伦萨诺
科里·奥尔特
何塞·索阿雷斯
贾斯汀·奎克
亚当·帕特森
本·马戈利
项目详情
django-app-skeleton-1.0.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f2e37e45de78afc8ad754a663a53dda471bcd38d54938a445abb5e7c8422a2df |
|
MD5 | 7934d75a2a78e0f43a56675b08b5c9bf |
|
BLAKE2b-256 | d913459896bae5175ff8bf816f7f221d03e7b937141e91a9bf5b51ea6d374f90 |