やりたいこと
簡単な分析システムを作りたいです。フォームにユーザー名を記入してもらい別フォームに遷移し、そのフォームでそのユーザーによって表示させる項目を変えたい。
やったこと
current_user.txtが書き換えられるような処理をしており、その書き換えられたcurrent_user.txtによってforms.pyのフォーム内容のMODEL_CHOICESを変更したいと思っているいます。しかし、どうやらforms.pyはサーバー起動時にのみ読み込まれているようで、current_user.txtが書き換えられてもformに変更がみられません。どうすればサーバーを再起動せずにforms.pyをもう一度読み込めますか?
ちなみにviews.pyはformの内容をテキストファイルなどに書き込んでいるだけです。またDBなどを使うシステムにしようとは思ってません。
#以下file_upload/forms.py from django import forms import os from django.contrib import messages class PredictClass_J_N(forms.Form): f = open('./project_name/current_user.txt') user = f.read() # ファイル終端まで全て読んだデータを返す f.close() # 文字列データ current_user = user.split('\n') print(current_user) MODEL_CHOICES=[] model_l=os.listdir(path='./project_name/'+current_user[0]) for list in model_l: if list == ".DS_Store": continue if list == "predict": continue MODEL_CHOICES.append((list, list)) model_type = forms.ChoiceField( label='モデル選択', widget=forms.RadioSelect, choices=MODEL_CHOICES, required=True) file = forms.FileField(label='解析したいファイル') patent_data=forms.MultipleChoiceField( label='特徴データ(複数選択可)', required=True, disabled=False, choices=PATENT_CHOICES, widget=forms.CheckboxSelectMultiple)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。