質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Q&A

0回答

252閲覧

urls.py | なぜcreateではなくcreate/とする必要があるのか

masa530

総合スコア5

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

0グッド

1クリップ

投稿2021/06/20 08:25

こんにちは、現在簡単なウェブアプリをDjangoで作成しています!!
今回は特にエラーというものではないのですが、少し疑問なところがあるのでご回答していただける方いましたらよろしくお願いします!!
urlpatternsで下から4つ目の第一引数にcreateという部分があるのですが、このままですとなぜPage Not Foundと出てしまいます。create/とするとエラーなく動いてくれます。
なぜ他のpathでは/を末尾に書かなくてもエラーが出ないのに、createのみcreate/としないといけないのでしょうか。

よろしくお願いします!!

#urls.py urlpatterns = [ path('login', CustomLoginView.as_view(), name='login'), path('logout', LogoutView.as_view(next_page='login'), name='logout'), path('register', RegisterPage.as_view(), name='register'), path('', views.foods, name='today_foods'), path('all_foods', FoodList.as_view(), name='all_foods'), path('target', TargetCreate.as_view(), name='target'), # path('', FoodList.as_view(), name='foods'), path('create', FoodCreate.as_view(), name='food-create'), path('update/<int:pk>', FoodUpdate.as_view(), name='food-update'), path('delete/<int:pk>', FoodDelete.as_view(), name='food-delete'), path('my_page', views.my_page, name='my_page'), ]

html

1{% extends 'base.html' %} 2 3{% block title %}|ホーム{% endblock %} 4{% block content %} 5 6<!-- header-bar --> 7<div class="header-bar"> 8 <div> 9 <h1>ようこそ、{{ request.user | title }}</h1> 10 <h3 style="margin: 0;"> 11 今日は{% now "F" %}{% now "j" %}日({% now "l" %}) 12 、合計カロリーは<span style="color: #333;">{{ttl_kcal}}</span>です! 13 </h3> 14 </div> 15 16 {% if request.user.is_authenticated %} 17 <a href="{% url 'logout' %}" class="logout"><i class="fas fa-sign-out-alt"></i>Logout</a> 18 {% else %} 19 <a href="{% url 'login' %}"><i class="fas fa-sign-in-alt"></i>Login</a> 20 {% endif %} 21</div> 22<!-- ///header-bar --> 23 24<div class="body-container"> 25 <!-- body-header-bar --> 26 <div class="body-header"> 27 <div class="body-header-title"> 28 <div class="body-header-left"> 29 <h1>今日食べたもの</h1> 30 <div class="links"> 31 <a href="{% url 'all_foods' %}">一覧</a> 32 <a href="{% url 'target' %}">目標設定</a> 33 <a href="{% url 'latest_blogs' %}">ブログ</a> 34 <a href="{% url 'my_page' %}">マイページ</a> 35 </div> 36 </div> 37 <div class="body-header-right"> 38 <a href="{% url 'food-create' %}"><i class="fas fa-plus"></i></a> 39 </div> 40 </div> 41 </div> 42 <!-- ///body-header-bar --> 43 44 <!-- table --> 45 <div class="food-items-wrapper"> 46 <table> 47 <tr class="table-header"> 48 <th class="align-left">食べもの</th> 49 <th>kcal</th> 50 <th>P</th> 51 <th>F</th> 52 <th>C</th> 53 <!-- <th>日付</th> --> 54 <th>カテゴリ</th> 55 </tr> 56 {% if user_foods %} 57 {% for food in user_breakfast_list %} 58 <tr> 59 <td class="align-left">{{ food.name }}</td> 60 <td>{{ food.kcal }}</td> 61 <td>{{ food.protein }}</td> 62 <td>{{ food.fat }}</td> 63 <td>{{ food.carb }}</td> 64 <!-- <td>{{ food.eaten_date }}</td> --> 65 <td>{{ food.category }}</td> 66 <td><a href="{% url 'food-update' food.id %}"><i class="far fa-edit"></i></a></td> 67 <td><a href="{% url 'food-delete' food.id %}"><i class="far fa-trash-alt"></i></a></td> 68 </tr> 69 {% endfor %} 70 71 {% for food in user_lunch_list %} 72 <tr> 73 <td class="align-left">{{ food.name }}</td> 74 <td>{{ food.kcal }}</td> 75 <td>{{ food.protein }}</td> 76 <td>{{ food.fat }}</td> 77 <td>{{ food.carb }}</td> 78 <!-- <td>{{ food.eaten_date }}</td> --> 79 <td>{{ food.category }}</td> 80 <td><a href="{% url 'food-update' food.id %}"><i class="far fa-edit"></i></a></td> 81 <td><a href="{% url 'food-delete' food.id %}"><i class="far fa-trash-alt"></i></a></td> 82 </tr> 83 {% endfor %} 84 85 {% for food in user_dinner_list %} 86 <tr> 87 <td class="align-left">{{ food.name }}</td> 88 <td>{{ food.kcal }}</td> 89 <td>{{ food.protein }}</td> 90 <td>{{ food.fat }}</td> 91 <td>{{ food.carb }}</td> 92 <!-- <td>{{ food.eaten_date }}</td> --> 93 <td>{{ food.category }}</td> 94 <td><a href="{% url 'food-update' food.id %}"><i class="far fa-edit"></i></a></td> 95 <td><a href="{% url 'food-delete' food.id %}"><i class="far fa-trash-alt"></i></a></td> 96 </tr> 97 {% endfor %} 98 99 {% for food in user_snack_list %} 100 <tr> 101 <td class="align-left">{{ food.name }}</td> 102 <td>{{ food.kcal }}</td> 103 <td>{{ food.protein }}</td> 104 <td>{{ food.fat }}</td> 105 <td>{{ food.carb }}</td> 106 <td>{{ food.category }}</td> 107 <td><a href="{% url 'food-update' food.id %}"><i class="far fa-edit"></i></a></td> 108 <td><a href="{% url 'food-delete' food.id %}"><i class="far fa-trash-alt"></i></a></td> 109 </tr> 110 {% endfor %} 111 112 <!-- {% for food in user_foods %} 113 <tr> 114 <td class="align-left">{{ food.name }}</td> 115 <td>{{ food.kcal }}</td> 116 <td>{{ food.protein }}</td> 117 <td>{{ food.fat }}</td> 118 <td>{{ food.carb }}</td> 119 <td>{{ food.eaten_date }}</td> 120 <td>{{ food.category }}</td> 121 <td><a href="{% url 'food-update' food.id %}"><i class="far fa-edit"></i></a></td> 122 <td><a href="{% url 'food-delete' food.id %}"><i class="far fa-trash-alt"></i></a></td> 123 </tr> 124 {% endfor %} --> 125 {% else %} 126 <td colspan="8" style="padding: 20px;">|今日はまだ何も食べていません。|</td> 127 {% endif %} 128 129 <!-- 合計と目標 --> 130 <tr> 131 <th class="align-left total">合計</th> 132 <th class="total">{{ ttl_kcal }}</th> 133 <th class="total">{{ ttl_protein }}</th> 134 <th class="total">{{ ttl_fat }}</th> 135 <th class="total">{{ ttl_carb }}</th> 136 </tr> 137 {% if target %} 138 <tr> 139 <th class="align-left">目標</th> 140 <th>{{ target.kcal }}</th> 141 <th>{{ target.protein }}</th> 142 <th>{{ target.fat }}</th> 143 <th>{{ target.carb }}</th> 144 </tr> 145 {% else %} 146 <tr> 147 <th class="align-left">目標</th> 148 <th>0</th> 149 <th>0</th> 150 <th>0</th> 151 <th>0</th> 152 </tr> 153 {% endif %} 154 </table> 155 </div> 156 <!-- ///table --> 157</div> 158 159 160<!-- {{ kcal.kcal__sum }} 161 {{ protein.protein__sum }} --> 162<!-- <p>目標は1960kcal, P130, F54.5, C237だよ</p> --> 163{% endblock %}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問