有人能帮我解决以下问题吗?它主要是关于如何获取django表单数据来创建一个txt文件。例如,如果用户输入“Alex”,则应将文件创建为亚历克斯.txt. 你知道吗
我正在尝试创建一个web应用程序,用户可以在开头输入一个名称(在简介表单中),然后做出一些选择(在索引表单中)。最后,将创建一个文件来记录选择,并且该文件应按输入的名称命名(以完整的形式)。我使用下面的代码来定义表单.py你知道吗
class NameForm(forms.Form):
your_name = forms.CharField(label='Your Name', max_length=100)
在视图.py我写道
def intro(request):
.
.
.
request.session['subjectname'] = []
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = NameForm(request.POST)
# check whether it's valid:
if form.is_valid():
request.session['subjectname'] = form.cleaned_data['your_name']
else:
form = NameForm()
context = {'form': form}
return render(request, 'polls/intro.html', context)
def index(request):
...
def complete(request):
subjectname = eval(str(request.session['subjectname']))
filename = '{}.txt'.format(subjectname)
...
此时可以创建文件,但名称为空,即[].txt。你知道吗
我自己解决了这个问题。结果是当表单通过“get”方法传递时。之后有没有写什么
尚未执行。这就是为什么输出txt文件是[].txt。你知道吗
如果您正在创建一个webapp,并且希望保存用户选择,那么您应该使用一个数据库。作为一个起点,我建议研究通用视图。这些将使您的应用程序更干净、更实用。你知道吗
https://docs.djangoproject.com/en/2.0/ref/class-based-views/generic-editing/
如果你不想要一个有这么多功能的应用程序,那么离开django,使用flask可能会让你的生活更轻松。你知道吗
相关问题 更多 >
编程相关推荐