PasteScriptベースのプロジェクトテンプレート

プロジェクト数の増加に伴い、新しいアプリケーション用のフレームワークの作成を自動化するという問題が発生しました。 最近まで、準備されたテンプレートプロジェクトをコピーし、プロジェクトのさまざまな場所でさまざまな設定を変更して、新しいプロジェクトを作成しました。 もちろん、これは多くの時間を殺しました。

この問題を解決する試みは、 Python Pasteというプロジェクトにつながりました。 一般的に、これはWebアプリケーションを作成するためのユーティリティのセットです。たとえば、独自のフレームワークを作成できます( Pylonsで使用します)。 Pythonの貼り付けには、Webユーティリティに加えて、貼り付けスクリプトモジュールも含まれています。このモジュールを使用して、スタブテンプレートを作成し、それに基づいてプロジェクトを生成できます。

どのように機能しますか?



Djangoのプロジェクト用のシンプルなテンプレートを作成する


PasteScript pip install PasteScriptをインストールします

およそ次のプロジェクト構造を作成します。



次に、テンプレートの場所とそれらの設定を決定します。
setuptools import setup から 、find_packages

セットアップ
name = 'paster-templates'
バージョン= "0.1"
パッケージ= find_packages
install_requires = [
'setuptools'
'PasteScript'
「チーター」
]
include_package_data = True
zip_safe = False
#ここでパターンを説明します
entry_points = "" "
[paste.paster_create_template]
simple = templates.pastertemplates:SimpleTemplate
「」「

simpleはテンプレートの名前で、SimpleTemplateは設定を持つクラスです。

SimpleTemplateクラスで、テンプレート自体を構成し、ファイル、簡単な説明、およびユーザーを入力するように要求する「データベース名」パラメーターを使用してディレクトリを指定します。
ペーストからスクリプトテンプレート インポートテンプレート
ペーストからスクリプトテンプレート インポート変数

クラス SimpleTemplate Template
_template_dir = 'simple'
要約= 「単純なプロジェクト」
use_cheetah = True

vars = [
var 'database'
「データベース名」。
デフォルト= "test_db"
]

テンプレート/に移動し、テンプレートとなる新しいdjangoプロジェクトdjango-admin.py startproject simpleを生成します。

テンプレートファイルの構成に進みます。 生成時に指定されたパラメーターは、ファイル名に_tmplを追加した後、テンプレートファイル内で使用できます。 これらの変数の形式は$(property_name)で、テンプレートエンジンを通過するディレクトリの名前は+property_name+です。 たとえば、settings.py_tmplファイルの一部:
...
#プロジェクト名-$(プロジェクト)
データベース= {
'default'{
'ENGINE''django.db.backends.sqlite3'
「名前」「$(データベース)」
}
}
...

また、テンプレートファイルに関する注意事項:

おわりに


以上です。 python setup.py installテンプレートを使用してパッケージをpython setup.py installする

paster create --list-templatesして、システム内のテンプレートのリストを確認します(理解する限り、entry_pointsで説明されたテンプレートプラグインのeggのシステムにインストールされたスキャンを使用してテンプレートが検索されます)。

paster create --template=simple SimpleProject使用して、単純なテンプレートに基づいて新しいプロジェクトを作成します。

すべての機会にテンプレートを作成することは残っています。

GitHubプロジェクトのソース

参照:

Source: https://habr.com/ru/post/J125353/


All Articles