2011-09-04 7 views
3

Djangoにはかなり新しく、作成しようとしているサイトのフラットページモジュールを利用しようとしています。私は、管理者ユーザがフラットページモジュールを使用してページを作成するためのすべての設定を行うことができますが、現在は、管理者のダッシュボードに表示されたフラットページ名をエンドユーザにとって分かりやすいものに変更したいという問題があります。たとえば、「Manage Static Pages」などの名前です。私はMETAクラスは、ラベルを変更するために使用する必要があるものですが、私はそれを使用する方法とどこでそれを使用するか分からないことを理解できたドキュメントから。私を助けてください。おかげDjangoのフラットページラベルをDjango管理ダッシュボードの別の名前に変更する

答えて

2

は、私はあまりにも、Djangoのに非常に新しいですが、ここで私の試みである:あなたのmodels.pyで

、あなたはそれのためにあなた自身のMetaクラスを提供するために、フラットページモデルを上書きする必要があるので、あなたがすべき以下のようにしてください:

from django.contrib.flatpages.models import FlatPage 


class MyFlatPage(FlatPage): 

    class Meta: 
     verbose_name = 'Static Page' # your overridden name here 

これは管理者に表示されるモデルの名前を設定します。その後、管理者に表示するために登録する必要があります。

from myapp.models import MyFlatPage 
from django.contrib.flatpages.models import FlatPage 


admin.site.unregister(FlatPage) 
admin.site.register(MyFlatPage, admin.ModelAdmin) 

次に設定する必要があります。再び、誰かがより良い答えでチャイムを鳴らすことができるかもしれません。まだ勉強してる!

+0

しかしこれは、あなたがこれを定義しているmodels.pyの名前空間に "Static Page"を置くでしょう。 – Thomas

+1

おかげで、名前を変更するのに助けになりましたが、フラットページをクリックすると新しい名前になりました)リンクでは、テーブルが見つからないというエラーがスローされます。私が私の質問で言ったように、Flatpages(または他のビルドされたdjangoアプリケーション)に固有のコードをどこに追加するかはわかりません。だから、私がやったことは、commonというAPPを作成してから、code.pyを追加したmodel.pyとadmin.pyを作成することでした。私はこれが行く方法ではないと確信していますが、同時に上記のmodels.pyファイルとadmin.pyファイルをどこに追加すべきか分かりません。それらのものに関するどんな入力も私を大いに助けます。ありがとう – swaroop

+0

@swarwoop - 良い点。あなたの一般的なアプリのアイデアが最高のものかどうかはわかりませんが、それは私には合理的です。私はこのアイデアにも苦労してきました。 Djangoのドキュメントはこれまでのところスリムであるため、私はどのような方法でも見つけることができます。ありがとう。 – nicorellius

関連する問題