Django-是否有更好的方法从表单字段获取数据?
是否有比request.POST.get更容易、更安全的方法从表单.form中创建的输入字段检索数据 出于练习目的,我有两页: 我输入一些数据 我使用第一页的数据 这是我的解决方案:Django-是否有更好的方法从表单字段获取数据?,django,django-forms,django-views,Django,Django Forms,Django Views,是否有比request.POST.get更容易、更安全的方法从表单.form中创建的输入字段检索数据 出于练习目的,我有两页: 我输入一些数据 我使用第一页的数据 这是我的解决方案: form.py: class DataForm(forms.Form): login = forms.CharField(label='login') password = forms.CharField(widget=forms.PasswordInput) def clean_data
form.py:
class DataForm(forms.Form):
login = forms.CharField(label='login')
password = forms.CharField(widget=forms.PasswordInput)
def clean_data(self):
login = self.request.POST.get('login')
return login
ImportedScript.bot是登录Instagram的简单代码。
我的解决方案正在发挥作用,但我听说这不是检索数据的最安全方式。正如我在开始时所写,这是为了练习,因为我仍然不知道如何使用用户输入的数据
例如,我想创建一个贷款计算器,其中用户必须在一个页面上输入大量数据,如收入、出生日期、贷款期限等,然后如何将他的输入与我的函数连接起来。您绝对不应该这样做。它是不安全的有几个原因 首先,表单的要点是调用它的is\u valid方法,然后通过清理的\u数据访问数据 其次,不要在这样的请求之间存储数据。它将对所有用户可见;因此,下一个要转到tested的用户将看到您发送的数据。通常我会建议使用会话在请求之间存储数据,但这也不是正确的做法,因为您应该使用Django的内置身份验证框架;这样做将允许您通过request.user访问登录的用户 最后,请注意表单的clean_数据方法是无意义的,永远不会被调用。但同样,在该方法中,您可以访问self.u数据;那里不会有自我要求这样的事情
views.py:
class MyTestView(FormView):
template_name = 'template.html'
form_class = DataForm
success_url = '/finaldestination/'
def form_valid(self,form):
form.clean_data()
return super().form_valid(form)
def testFunction(request):
print('Welcome here')
testprint()
form = DataForm(request.POST or None)
testFunction.login = request.POST.get('login')
testFunction.password = request.POST.get('password')
importedScript.login(testFunction.login, testFunction.password)
tested()
print(form.Login)
return render(request, 'finaldestination.html')
def tested():
x = testFunction.login
print(x, ', is a really cool guy')
template.html:
TEST:
<form action="/finaldestination/" method="post" name='btn'>
{% csrf_token %}
{{ form.login }}
{{ form.password }}
<input type="submit" value="Submit">
</form>