[英]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.