前提・実現したいこと
プログラミング初心者です。
現在、Django上でpythonを使ってWebアプリ制作をしています。
templatesのhtml内にリストの要素を繰り返し表示させようとしたところ、以下のような問題が発生しました。
発生している問題・エラーメッセージ
以下のように各町名を繰り返し表示するプルダウンメニューを作成しようとしているのですが、for文で記述した部分が消された状態で表示されてしまい、思うように表示されません。
要は
該当のソースコード
index.htmlです。
アプリ名はsearch_shopです。
html
1 <form method='POST' action="{% url 'search_shop:shop_town' %}" id="index_form"> 2 {% csrf_token %} 3 <select name="select_town"> 4 <option value="">選択してください</option> 5 {% for town in towns %} 6 <option>{{town}}</option> 7 {% endfor %} 8 </select> 9 <input type='submit' value='検索'> 10 </form> 11 12
また、以下はviews.pyです。
python
1def Shop_Info(request): 2 template_name = "index.html" 3 options = { 4 'towns':["石川町","絵鞆町","海岸町","香川町","神代町","港南町","幸町"] 5 } 6 return render(request, template_name, options)
次にsearch_shop/urls.pyです。
python
1urlpatterns = [ 2 path('',views.Shop_Info,name='shop_town') 3]
最後にプロジェクトのurls.pyです。
python
1urlpatterns = [ 2 path('admin/', admin.site.urls), 3 path('',include('search_shop.urls')), 4 path('search_shop/',include('search_shop.urls')), 5] 6
試したこと
html
1{% for town in towns %} 2{{town}} 3{% endfor %}
このようにformタグの外で普通に記述しても、townsは全く表示されませんでした。
エラーも出ないので、何か文法のミスかurls.pyのパス指定のミスかと、色々考えられますがいくら調べても原因は分かりませんでした。
とても初歩的なことで申し訳ありませんが、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/24 02:06
2021/11/24 02:38 編集
2021/11/24 02:44
2021/11/24 03:17 編集
2021/11/24 03:55