前提・実現したいこと
djangoでプルダウンメニューを使いログインユーザーの専用フォルダ内のフォルダを表示するプログラムを実装したと考えています。
発生している問題・エラーメッセージ
forms.pyでログインユーザー名の取得方法がわかりません。
該当のソースコード
forms.py
def file_list(): #name = request.user.username data_path = os.path.join(settings.MEDIA_ROOT, "documents/" + str(name)) file_list = os.listdir(os.path.join(settings.MEDIA_ROOT, "documents/" + str(name))) FILE_LIST = [(os.path.join(data_path, file_name), file_name) for file_name in file_list] return FILE_LIST class FolderForm(forms.Form): choice = forms.ChoiceField(label='Choice', \ choices=file_list())
views.py
class FolderView(TemplateView): def __init__(self): self.params = { 'title': 'フォルダ選択', 'form': FolderForm(), 'result': 'フォルダは選択せれていません。' } def get(self, request): return render(request, 'glpk/glpk.html', self.params) def post(self, request): form.name = request.user.username ch = request.POST['choice'] list1 = os.listdir(ch) self.params['result'] = list1 self.params['form'] = FolderForm(request.POST) return render(request, 'glpk/glpk.html', self.params)
試したこと
view.pyで定義しているユーザー名(name=request.user.username)をform.pyで使おうと考えましたがそれもよくわかりませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー