Djangoを用いたウェブアプリケーションを開発しています。簡単なCRUDを扱うウェブアプリです。
コードはGitHubにあり、一応Herokuにデプロイ済みなので実際に試してみていただきたいです。
PC、Android端末からは投稿の保存ができたのですが、iPhoneから投稿を行うとDatetimeFieldに対してエラーが発生してしまいます。
調べてみたところ、
- Safariがdatetime-localの入力に対応していない
- DjangoがSafariに対応していない
- iOSがdatetime-localを扱う場合には初期値を与えなければいけない
という原因が挙げられていました。
How can I use <input type=datetime > and iOS Safari with Django?
ios – Mobile Safari(10.3.1)DateTime-Local“有効な値を入力してください”エラー
iPhone版Google Chromeでも投稿の保存ができなかったので、iOS特有の仕様なのでしょうか。
JavaScriptを用いた日時入力の方法(Datetime-pickerなど)もあるようですが、iPhoneの日時入力のフォームは扱いやすいので、可能ならばdatetime-localを扱いたいです。
python
1class CreateForm(forms.Form): 2 title = forms.CharField( 3 label='タイトル', 4 max_length=140, 5 help_text='Twitterハッシュタグの仕様上、?や!などの記号は使えません。Vtuberなどのアーカイブの場合、「配信タイトル_名前」を推奨します。' 6 ) 7""" 8以下が問題の箇所です。 9""" 10 start_time = forms.DateTimeField( 11 label='開始時刻', 12 widget=forms.DateTimeInput(attrs={"type": "datetime-local"}), 13 input_formats=['%Y-%m-%dT%H:%M'] 14 ) 15 episode = forms.IntegerField( 16 label='話数', 17 help_text='劇場作品やYouTube動画のときはとりあえず0話にしておいてください。空欄不可なので。(後々対応します)' 18 ) 19 comment = forms.CharField( 20 label='コメント', 21 widget=forms.Textarea(attrs={"max_length": 140}), 22 max_length=140, 23 help_text='「未視聴なのでネタバレNG」「一緒に考察しましょう」「15周目」「〇〇への愛を語りましょう」など書いておくといいかもしれません。' 24 'あと、見るプラットフォーム(Netflix, Prime Videoなど)を書いてあげると優しいかもです。' 25 ) 26
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/10 23:36
2019/09/11 00:25