Поле даты очистки вернулось в вид django из вызова ajax - PullRequest
0 голосов
/ 09 января 2019

РЕДАКТИРОВАТЬ: мой def form_invalid для `класса ProviderUpdateView (UpdateView):

  def form_invalid(self, form):
    print("form is invalid")
    print(form.errors)
    return HttpResponse("form is invalid.. this is just an HttpResponse object") 

Я мог бы открыть второй вопрос, чтобы выяснить, почему это не отображается в форме, и, тем не менее, некоторые «должны заполнить это поле» могут иметь отношение к хрустящим формам, не уверенным, что я не написал эту часть и имею чтобы заглянуть в это: /

У меня есть поле даты, которое встречается в поле данных вызова ajax. Я могу просто получить данные в моем views.py

dateJ = request.GET.get('date_joined_group')    

Это здорово, но когда я пытаюсь бросить его в свою модель, он умирает каждый раз. Мне нужно «очистить» данные, я знаю свои формы, когда я просто выполняю стандартные операции get post ops и делает это автоматически. Есть ли способ, которым я могу вызвать эту автоматическую, когда не с использованием формы, но с помощью вызова ajax?

Я пробовал это:

       dateObj = datetime.datetime.strptime(str(dateJ), '%m-%d-%Y')

Тогда в моей модели:

grpProvInfo.date_joined_group = dateObj    
grpProvInfo.save()

Это работало до тех пор, пока я не использовал форму выбора даты в форме, которая обозначала его как 4/29/2009

Таким образом, косые черты сломали мое «ловкое исправление», это должен быть более простой способ, чем пытаться учесть все возможности, просто не зная, как вызвать его из небольшого метода def, который у меня есть для вызова ajax в моем python.

1 Ответ

0 голосов
/ 09 января 2019

Итак, есть несколько разных библиотек Python, которые могут вам помочь. Этот dateparser позволяет вам вводить столько разных форматов, сколько вы хотите иметь возможность анализировать, и возвращает объект datetime. Это решит вашу проблему с косой чертой. Еще один совет - всегда показывать дату в одном и том же формате независимо от того, как она вводится. Если вы используете формы django и поле даты, вы автоматически получите проверку (допустимой строки даты), и это в сочетании с dateparser позволит вам безопасно проанализировать любую строку даты.

И для простоты вы сможете изменить формат даты по умолчанию. Но это не совсем ответ, как решить вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...