2

Mezzanine +カートリッジを使用していますが、カスタマイズしたいと思います。

テンプレートをプロジェクトテンプレートフォルダーに配置することで、テンプレートを上書きできます。

しかし、ビューとモデルを上書きする方法がわかりません。プロジェクトにいくつかの追加機能を編集する必要があるためです。

たとえば、サインアップ時にCookieを保存する場合、ルートファイルを編集してこれを行いました。しかし、誰かが私のプロジェクトでこれらの特定の関数を上書きする方法を教えてもらえますか?

ありがとう

4

1 に答える 1

2

サードパーティアプリへの変更を処理するには、主に2つの方法があります。

必要なものの一部がサードパーティのアプリが提供するものと大幅に異なる場合は、プロジェクトをフォークし、変更を加えてその変更をgitリポジトリにプッシュしてから、フォークしたバージョンを次の方法で再インストールすることを検討してください。

pip install -e git+git://github.com/YourUsername/forked-django-app.git#egg=forked-django-app

これが面倒すぎると思われる場合は、別の方法として、独自のプロジェクトのurls.pyで特定のurl / view関数(サードパーティアプリで定義されている)を宣言することもできます。

あなたの場合、再マップしようとしているのはですmezzanine.accounts.urls。参照-https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/accounts/urls.py

したがって、基本的に、オーバーライドするURLを独自のプロジェクトのurls.pyで宣言できます。これは、メザニンによって宣言されたURLよりも優先され、カスタムビュー関数を指すことができます。

実際にメザニンの1つを変更する必要がある場合はmodels.py、上記の分岐ルートを使用することをお勧めします。

于 2012-11-23T05:07:29.437 に答える