見出し画像

Django でブログ投稿機能つけたら、 success_url = reverse_lazy('')でエラーが出る


投稿機能はこちらのzennの記事を参考にしましたhttps://zenn.dev/tmasuyama1114/articles/django-tutorial-blogapp-5

zenn


投稿はできるようになりましたが、投稿し終わって任意の画面に戻る所でエラーが出ます


# views.py

class ArticleCreateView(CreateView):
    template_name = 'mysite/article_create.html'
    model = Article
    form_class = ArticleCreateForm
    success_url = reverse_lazy('home')

success_url = reverse_lazy('home')の所です


 # urls.py

urlpatterns = [
    path('', views.index, name='home'),
]

urls.pyには確かにname='home'としているのであっているはず

しかしReverse for 'home' not found. 'home' is not a valid view function or pattern name.というエラーが出る なぜだー

そこでもう1回、success_url = reverse_lazy('home')を打ち直したところ、
vscodeのGitHub Copilotが教えてくれた

success_url = reverse_lazy('mysite:home') ですよと

どうやら、reverse_lazyにプロパティを指定すると他のアプリのURLにも戻ることができるみたい でも今回は他のアプリではないのに・・・
models.pyが他のアプリにあるからという事なのかなと思います

結果オーライでやっぱり他のアプリのページに戻った方が良かったので
最終的には、success_url = reverse_lazy('blog:home') に戻ることで完了しました めでたし、めでたし


この記事が気に入ったらサポートをしてみませんか?