私はDjangoフォーラムプロジェクトの作成に取り組んでおり、settingsというテーブルのデータベースにアクセスする「settings」アプリを持っています。
テーブルは、、、および列で設定さverbose_name
れname
ますvalue
。1つ目は単に管理者に表示される名前であり、2つ目は設定にアクセスするための名前です(テーブルの主キーです)。
今、私はブール値であるいくつかの設定、整数であるいくつか、そして文字列であるいくつかの設定を持っています。ただし、value
はデータベース内のTEXTタイプであるため、Djangoはそれを文字列として返します。現在、ブール値をPythonブール型に変換するためのこの実装があります。
class SettingsMiddleware:
def process_request(self, request):
request.settings = {}
settings = Setting.objects.all()
for setting in settings:
if setting.value == ("True" or "1"):
setting.value = True
if setting.value == ("False" or "0"):
setting.value = False
request.settings[setting.name] = setting.value
return None
だから私は2つの質問があります:
- これについてもっと良い方法はありますか?
- 文字列に整数が含まれているかどうかを確認するにはどうすればよいですか?有効であれば整数に変換できることは知ってい
int()
ますが、有効かどうかはどうすればわかりますか?
明らかに、質問番号2に関しては、現在の評価の「1」または「0」ビットを削除します。