6

その場で設定を変更できるシステムを作成する方法について誰か提案がありますか? たとえば、ユーザーが入力できるテキストエリアがあり、現在は最大文字数が 1000 に制限されています。いつか、これを 500 や 2000 などに変更したいと思うかもしれません。したがって、単純な値を変更するためだけに、DB をバックアップし、syncdb を実行し、DB を再インポートするという悪夢を経験したくないので、モデル自体に制限を設けたくありません。文字の長さについては、Javascriptまたはviews.pyコードでチェックしたいと思います。

if (length > value_stored_somewhere)
 throw error message

これらの値を settings.py に入れるか、別の local-settings.py に入れることができると思っていましたが、値を変更したい場合はアプリを再起動する必要がありますよね? あるいは間違っているかもしれないので、間違っていたら教えてください。

これを行うための理想的な方法は、設定をデータベースに入れることであると考えました。これにより、管理者は .py ファイルに触れることなくオンザフライで値を変更できます。django-dbsettings を見てみましたが、まったくアクティビティがないようです。

提案と解決策を教えてください。どうもありがとう!

4

1 に答える 1

7

あなたはすべての仮定で正しいです。設定を変更する場合は、アプリを再起動する必要があります (設定ファイル内)。現在、「その場で設定を変更する」方法はありません。Live Settingsと呼ばれる処理外の再利用可能なアプリがたくさんあります。たぶん、これらのいずれかを試してみてください。その場で設定を変更しても、Django の動作は変更されないことに注意してください (Django または他のアプリも内部設定を直接使用しているため)。ただし、カスタム アプリまたはプロジェクトの場合、これは適切なアプローチです。

于 2011-04-25T03:09:39.117 に答える