嘿,我在一個專案中使用 django,使用 POST 方法,Django 中的視圖接收資料,如果接收到資料,它作業正常,但如果沒有接收到資料,我想分配一個默認值而不是這里出現錯誤我的代碼。我嘗試使用 if 分配,但它不起作用。
@api_view(['POST'])
def getPacsPatients(request):
data = json.loads(request.body.decode('utf-8'))
if request.method == 'POST':
PatientName = data["patientName"] if data["patientName"] else "*"
#it works fine if data["patientName"] is present, but if not I get an error
uj5u.com熱心網友回復:
您可以使用該get()函式從字典中讀取值。
data.get(key, default_value)
uj5u.com熱心網友回復:
@brukidm 給出了正確的答案,但是正如您的問題暗示您可能對 Python 還很陌生,我還想指出,在類似的場景中,您可以try-except繞過代碼,這與 Python 的EAFP方法一致。
這將產生如下結果:
@api_view(['POST'])
def getPacsPatients(request):
data = json.loads(request.body.decode('utf-8'))
if request.method == 'POST':
try:
PatientName = data["patientName"]
except KeyError:
PatientName = default_value
它在try塊中執行代碼,如果它運行在一個塊中,則KeyError執行一個except塊。
uj5u.com熱心網友回復:
試試這個,
try data["patientName"] :
PatientName = data["patientName"]
except Exception as E:
PatientName = "*"
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/402311.html
標籤:
