django在后续提交中添加报价
目标是:当用户提交表单时,使用一个视图将提交的数据发送到数据库,然后重定向回表单,但要预先填充数据。这在很大程度上是可行的,但是我的实现中的一些东西是在字符串周围加上额外的引号。现在,我只是使用一个超级简单的表单,顺便说一句。我输入django在后续提交中添加报价,django,Django,目标是:当用户提交表单时,使用一个视图将提交的数据发送到数据库,然后重定向回表单,但要预先填充数据。这在很大程度上是可行的,但是我的实现中的一些东西是在字符串周围加上额外的引号。现在,我只是使用一个超级简单的表单,顺便说一句。我输入Billy,预弹出是:“Billy”,如果我再次单击提交,它会返回为:“\”Billy\”,然后是“\”Billy\\”,等等(无论如何,就我测试而言) 有关意见如下: def editUsers(request): if request.method ==
Billy
,预弹出是:“Billy”
,如果我再次单击提交,它会返回为:“\”Billy\”
,然后是“\”Billy\\”
,等等(无论如何,就我测试而言)
有关意见如下:
def editUsers(request):
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = usersForm(request.POST)
# check whether it's valid:
# process the data in form.cleaned_data as required
# redirect to a new URL:
name = json.dumps(form.data['user_name'])
request.session['editUserName'] = name
# call out to limboLogic.py to update values
test = name
return redirect('../users')
# if a GET (or any other method) we'll create a blank form
else:
return redirect('../users')
from .forms import *
def users(request):
form = None
if 'editUserName' not in request.session:
# create a blank form
form = usersForm()
else:
# form = equipmentForm(initial='jim') - used to make sure I was branching the if/else correctly
form = usersForm(initial={'user_name':request.session['editUserName']}, auto_id=False) #limboLogic.GetUserInfo(name))
return render(request, 'limboHtml/UserManagement.html', {'form': form})
形式很简单:
class usersForm(forms.Form):
user_name = forms.CharField(label='New User\'s name', max_length=100)
模板为:
{% extends "base.html" %}
{% block content %}
<div class="row">
<p>This is the user management page</p><br>
<form action="/edit/users.html" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="OK">
</form>
<br><p class="bold">This is below the form</p>
</div>
{% endblock %}
{%extends“base.html”%}
{%block content%}
这是用户管理页面
{%csrf_令牌%}
{{form}}
这在表格下方
{%endblock%}
想法?我不太清楚这里的核心是什么,但问题在于我使用了一个json类。我用它作为指导并设法解决了这个问题。请注意,如果:
name=form.cleaned_data['user_name']
工作正常
name=json.dumps(form.data['user\u name'])
不会
目前的整体功能如下:
def editUsers(request):
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = usersForm(request.POST)
# check whether it's valid:
# process the data in form.cleaned_data as required
# redirect to a new URL:
if form.is_valid():
name = form.cleaned_data['user_name']
# name = json.dumps(form.data['user_name'])
request.session['editUserName'] = name
# call out to limboLogic.py to update values
test = name
return redirect('../users')
# if a GET (or any other method) we'll create a blank form
return redirect('../users')
我不太清楚这里的核心是什么,但问题在于我使用了一个json类。我用它作为指导并设法解决了这个问题。请注意,如果:
name=form.cleaned_data['user_name']
工作正常
name=json.dumps(form.data['user\u name'])
不会
目前的整体功能如下:
def editUsers(request):
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = usersForm(request.POST)
# check whether it's valid:
# process the data in form.cleaned_data as required
# redirect to a new URL:
if form.is_valid():
name = form.cleaned_data['user_name']
# name = json.dumps(form.data['user_name'])
request.session['editUserName'] = name
# call out to limboLogic.py to update values
test = name
return redirect('../users')
# if a GET (or any other method) we'll create a blank form
return redirect('../users')