2011-03-02 6 views
1

私はdjango-registration-0.8を使用するサイトを作成しましたが、それをホストしているサーバーは0.7のサーバーを使用しています。私はモジュールがどのように検索されているかについてアクセス権がないので、0.8のソースをダウンロードし、登録/フォルダを配置し、それをsettings.py(INSTALLED_APPS)に登録として登録しました。Djangoにインストールされているものの代わりにカスタム登録アプリを指定するにはどうすればよいですか?

djangoがカスタム登録アプリ(0.8)を見ています。レジスタページにアクセスしようとしたときしかし、私はこのエラーを取得する:としてurls.pyで呼び出され

ImportError at /accounts/register/ 
No module named backends.default.urls 

(r'^accounts/', include('registration.backends.default.urls')), 

私は

(r'^accounts/', include('registration.urls')), 

に変更した場合エラーはなくなりましたが、それはインストールされた(0.7)バージョンを使用していることを意味します。そのバージョンの問題の1つは、アクティベーションページが異なることです。

登録アプリのフォルダを確認する登録/バックエンド/デフォルト/ URLにモジュールが存在することがわかります。したがって、私の結論は、登録されたサーバ全体(0.7)が、私が手作業でソースから抽出したもの(0.8)の前に最初に見られたものであるということです。

私の質問は、Djangoをインストールしたサーバー全体の代わりに、私がアプリとしてインストールした0.8バージョンを調べるにはどうすればいいですか?私は(djangofooホスティングを使って)シェルにアクセスすることはできず、manage.pyとftpだけです。

答えて

0

見つかったバージョンを確認できますか?直接のシェルアクセスがなければ、registration.get_version()メソッドを出力する管理コマンドを作成することができます。

sys.path.insert(0、[path])を使用して、カスタム登録アプリがあるディレクトリをpythonpathの前に追加することができます。

また、カスタム登録アプリ(registration2?)の名前を変更して、pythonpathに表示されていることを確認し、正しいものをインポートすることもできます。

+0

以前はカスタムアプリケーションがチェックされているかどうかを確認するために3番目のオプションを試しました。それはコード内の「登録」への参照に遭遇するまでです。この場合、システム全体のバージョンを再度チェックし、途中で例外をスローします。私のホスティングプロバイダは、WSGIファイルを編集して、システム全体でインストールされたパッケージを確認する前に、自分のサイトにインストールされているアプリケーションを最初にチェックすることで解決しました。私は周りをグーグルで調べて、wsgiファイルはApacheに接続されているように見えるのでアクセスできませんでしたが、将来の不一致について心配する必要はありません。 –

関連する問題