#環境
Django 1.11
python 3.6.6
#こういうやつ
Djangoでタイムゾーン名を入力させるフォームを作りたかったので,
pytzのtimezone一覧のプルダウンメニューを作成した.
#手順
timezone一覧のリストをつくって, viewからtemplateに投げてあげればOK.
services.py
import pytz
def timezoneList():
timezone_list = pytz.common_timezones
return timezone_list
views.py
from XXX.services import *
class TestPage(LoginRequiredMixin,TemplateView): #()内はよしなに
def get(self,request):
...
timezones = timezoneList()
context = {
...,
'timezones':timezones,
}
render (request,'test.html',context)
< select >タグ内に以下のように書いた.
test.html
{% for timezone in timezones %}
<option value ='{{ timezone }}' > {{ timezone }} </option>
{% endfor %}
更新してあげると出来てた. やったね!
#補足
ChoiceFieldを使う方法(こっちの方が多分楽)
https://stackoverflow.com/questions/10578440/how-to-add-drop-down-list-for-timezone-using-python-tz-at-user-registration-page