2

作業中の django プロジェクト用にマークダウン拡張ファイル (mdx_xxx.py と呼ばれる) を作成しましたが、それをどこに置くか本当に決められません。

ドキュメントには、ファイルは PYTHONPATH に存在する必要があると記載されており、ファイルをプロジェクトのルート ディレクトリに配置することを勧めるブログ投稿をいくつか見てきました。

ただし、関連するアプリケーションディレクトリで見たいのですが、PYTHONPATHにはもうないので、それは私には奇妙な場所のように思えます。

経験豊富な django プログラマーがこの問題に光を当てることができますか?

ありがとう

4

3 に答える 3

1

拡張ファイルをパッケージ内ではなく、Python パス上に直接配置する必要があるのは、(IMO) Python マークダウン実装の残念な制限です。

拡張機能がプロジェクトに非常に固有のものである場合は、プロジェクト ルートに配置するのが最適なオプションだと思います。

一方、拡張機能が他のケースで再利用可能な場合は、単純な setup.py でパッケージ化し、他のすべての依存関係と同様に、pip を使用して virtualenv にインストールします。

于 2010-01-24T15:17:38.407 に答える
1

すべてをプロジェクトに含める必要はありません。これは要件であり、依存関係です。それらをまとめてパッケージ化することもできますが、これを最上位に配置する必要があると思います。これは基本的に、プロジェクト自体と同じ場所からインポートできることを意味します。個人的には、すべてを virtualenv にプッシュするので、すっきりしています。同じことを行う場合、展開プロセスには、プロジェクトと依存関係の両方をその仮想環境に安全に配置する必要があります。それ以外の場合は、パス内の任意の場所に。

于 2010-01-24T02:25:53.470 に答える
0

現在バージョン 2.3.1 の pip (pip install markdown) の標準マークダウン ライブラリを使用している場合、拡張子はどこでもかまいません。点線のパスを指定するだけです。古いスタイル - mdx_ のプレフィックスが付いたモジュールの PYTHONPATH に直接配置することも同様に機能します。

私は自分のアプリコードにそれを持っています:django_file_downloads.mdx_download。

django テンプレートから使用するには:

{% load markup %}
{{ variable|markdown:'django_file_downloads.mdx_download' }}
于 2013-08-19T15:29:10.740 に答える