DjangoのWebアプリをきちんと動作させたい
解決したいこと
CRUD処理のCreateの動作ができるようにしたい
https://note.com/saito_pythonista/n/n6550f5c2a07b
以上のnoteの記事を参考に
DjangoでSNS系のWebアプリを作成して動作確認をはじめましたが、
記事を投稿する機能の動作確認中にエラーが発生しました。
この動作をきちんとできるようにしたいです。
django.template.exceptions.TemplateDoesNotExist: snsapp/post_form.html
該当するソースコード
<div class="navbar-nav">
<a class="nav-link" href="/follow-list/">フォローユーザーの投稿</a>
<a class="nav-link" href="{% url 'mypost' %}">自分の投稿</a>
<a class="nav-link" href="/accounts/logout/">ログアウト</a>
<a class="nav-link btn btn-success" href="{% url 'create' %}" role="button">投稿</a> #この行
</div>
自分で試したこと
- settings.pyで設定を確認し、
'DIRS': []
を書き換え、import os
を追記
from pathlib import Path
import os #追記
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], #追記
'APP_DIRS': True,
# ...
},
]
-
templatesディレクトリに
post_form.html
をtemplateに追記したり、create.html
をpost_form.html
に名前変更した
-
views.pyのCreatePostの
templete_name
をcreate.html
からpost_form.html
に変更
class CreatePost(LoginRequiredMixin, CreateView):
model = Post
templete_name = 'post_form.html'
fields = ['title', 'content']
success_url = reverse_lazy('mypost')
- snsapp/urls.pyでパスが正しいかどうかを確認した
urlpatterns = [
path('', Home.as_view(), name='home'),
path('mypost/', MyPost.as_view(), name='mypost'),
path('detail/<int:pk>', DetailPost.as_view(), name='detail'),
path('detail/<int:pk>/update', UpdatePost.as_view(), name='update'),
path('detail/<int:pk>/delete', DeletePost.as_view(), name='delete'),
path('create/', CreatePost.as_view(), name='create'),
0