簡體   English   中英

在 django 中驗證 POST 請求的正文

[英]Validate body of a POST request in django

我在 django 中有一個視圖,它注冊了一個客戶,我有一個 model 用於客戶和一個看起來像這樣的表格:

from django.forms import ModelForm
from api.models.client import Client


class SignUpForm(ModelForm):
    class Meta:
        model = Client
        fields = ['first_name', 'last_name']

在我看來,我想驗證請求中的數據,但我的問題是請求中的參數是camelCase 而不是snake_case,所以當我嘗試驗證數據時它不起作用。

def sign_up(request):
    body = json.loads(request.body)
    form = SignUpForm(body)
    print(form.is_valid())
    return HttpResponse('this is a test response')

有沒有一種干凈的方法來完成這項工作? 這也是我想做的正確方法嗎?

您可以遍歷正文鍵,使用正則表達式重命名鍵並添加到新字典。

def camel_to_snake(val):
    return re.sub('([A-Z]+)', r'_\1', val).lower()

body = json.loads(request.body)
new_body = {camel_to_snake(k): v for k, v in body.items()}

暫無
暫無

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

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