Django-是否有更好的方法从表单字段获取数据?

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

是否有比request.POST.get更容易、更安全的方法从表单.form中创建的输入字段检索数据

出于练习目的,我有两页:

我输入一些数据 我使用第一页的数据 这是我的解决方案:

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>