我正在使用 Django 創建一個包含 DateTimeField 的 API,但我收到以下錯誤“TypeError:descriptor 'strftime' for 'datetime.date' 物件不適用于 'str' 物件” 我曾嘗試檢查不同的來源,但我還沒有找到解決辦法。
- 該錯誤是由 start_date 行引起的。
from datetime import datetime
def question_view(request):
if request.method == 'GET':
return HttpResponse("Вопрос не создан")
elif request.method == 'POST':
poll_question = request.POST['poll_question']
title = request.POST['title']
start_date = datetime.strftime(request.POST['start_date'],'%Y-%m-%d')
Question.objects.create(poll_question=poll_question,title=title, start_date=start_date)
return HttpResponse("Вопрос создан")
else:
return "Попробуйте снова"
uj5u.com熱心網友回復:
我認為解決這個問題的一種簡單方法是根據給定的格式將物件轉換為字串,datetime.strptime如檔案中所述
您的視圖現在將寫為:
from datetime import datetime
def question_view(request):
if request.method == 'GET':
return HttpResponse("Вопрос не создан")
elif request.method == 'POST':
poll_question = request.POST['poll_question']
title = request.POST['title']
start_date = datetime.strptime(request.POST['start_date'],'%Y-%m-%d')
Question.objects.create(poll_question=poll_question,title=title, start_date=start_date)
return HttpResponse("Вопрос создан")
else:
return "Попробуйте снова"
strptime將字串決議為給定相應格式的日期時間物件。(根據日期時間檔案)
uj5u.com熱心網友回復:
datetime 有兩種方法:
- strftime:用于將日期物件轉換為字串。
- strptime:用于將字串轉換為日期物件。
在你的情況下,你需要第二個。你的代碼將是:
start_date = datetime.strptime(request.POST['start_date'],'%Y-%m-%d')
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/334401.html
上一篇:DjangoRESTFramework:ModelSerializer是否可以選擇通過GET或(POST、PUT、DELETE)動態更改欄位?
