![見出し画像](https://assets.st-note.com/production/uploads/images/113615823/rectangle_large_type_2_0e54c4ccd803690ce9389420aa53354b.png?width=1200)
Django でブログ投稿機能つけたら、 success_url = reverse_lazy('')でエラーが出る
投稿機能はこちらのzennの記事を参考にしましたhttps://zenn.dev/tmasuyama1114/articles/django-tutorial-blogapp-5
投稿はできるようになりましたが、投稿し終わって任意の画面に戻る所でエラーが出ます
# 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') に戻ることで完了しました めでたし、めでたし
この記事が気に入ったらサポートをしてみませんか?