簡體   English   中英

Django:構造表單而不驗證字段?

[英]Django: construct form without validating fields?

我有一個MyForm表單,當用戶填寫時我會使用ajax更新它。 我有一個視圖方法,該方法通過從request.POST構造MyForm並將其反饋來更新表單。

def update_form(request):
    if request.method == 'POST':
        dict = {}
        dict['form'] = MyForm(request.POST).as_p()
        return HttpResponse(json.dumps(dict), mimetype='application/javascript')
    return HttpResponseBadRequest()

但是,這將調用清理/驗證例程,並且我不希望向用戶顯示錯誤消息,除非他們實際上已經主動單擊“提交”。

所以問題是:如何在不調用驗證的情況下從現有數據構造django.forms.Form

在調用form.is_valid()之前,永遠不會調用驗證。

但是正如我猜想的那樣,您希望您的表單中填入數據用戶類型,直到用戶單擊提交。

def update_form(request):
    if request.method == 'POST':
        if not request.POST.get('submit'):
            dict = {}
            dict['form'] = MyForm(initial = dict(request.POST.items())).as_p()
            return HttpResponse(json.dumps(dict), mimetype='application/javascript')
        else:
            form = MyForm(request.POST)
            if form.is_valid():
                # Your Final Stuff
                pass
    return HttpResponseBadRequest()

編碼愉快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM