1

sorl-thumbnailをdjangoのアプリにインポートしようとしています。CentOS 5でcpanelを使用してmod_wsgiを使用してサイトを設定する方法では、インポート時にアプリのパスにプロジェクト名を付ける必要があります...これは面倒です。

明らかに、これはアプリの移植性に関する懸念の原因です。sorl-thumbnailをインポートしています。以前のアプリでは、インストールされているアプリにsorl.thumbnailを追加したところ、機能しました。

www.ただし、インポートパスの前にプロジェクト名がない限り、問題が発生します。これまでにこれが行われたことはなく、パスの問題を回避できないようです。

追加しましwww.sorl.thumbnailたが、ファイル内の残りのパスにsorlエラーがあります。これを修正する方法や回避策を修正する方法についてのアイデアはありますか?

4

1 に答える 1

3

インポート時にプロジェクト名を使用する必要はありません。アプリがPythonパスのどこかにあることを確認してください。次のようなもの:

sys.path.append('/etc/django/domains/mydomain.com/myproject/')

... .wsgiファイルでそれを行う必要があります(もちろん、独自のプロジェクトへのパスを使用して)。

理想的には、再利用可能なアプリはプロジェクトディレクトリの外にある必要があるため、再利用可能なアプリを含む'/ etc / django / lib /'などのフォルダーを作成し、それをwsgiハンドラーのsys.pathにも追加することを検討してください。

または、それが気に入らない場合は、virtualenvを使用して、再利用可能なアプリをサイトパッケージに直接追加します。

または、それが気に入らない場合は、再利用可能なアプリを別の場所に配置し、サイトパッケージまたはPythonパスのどこかにシンボリックリンクします。

つまり、インポートするパッケージ/モジュールがPythonパス上にあることを確認してください。プロジェクト名または「www」を一連のインポートパスに追加していることに気付いた場合は、おそらく何か間違ったことをしていることになります。

于 2009-10-27T02:46:11.500 に答える