前提・実現したいこと
Python3.8.3、Django2.2.210でWebサイトを作成しているのですが、サイト内ページ遷移がうまく行かないため、ご教示いただけますと幸いです。
発生している問題・エラーメッセージ
トップページのナビゲーションバーにサイト概要へのリンクを追加したいのですが、「このページは動作していません(HTTP ERROR 405)」というエラーメッセージが表示されてしまいます。
ナビゲーションバーには他に投稿機能、トップ遷移機能、ログイン機能等を実装しているのですがそちらは問題なく動きますため、viws.pyに記載したAboutView()クラスもしくはurls.pyに記載したpathの内容に問題があるのではと考えております。
#ブラウザ上 このページは動作していません (HTTP ERROR 405) #ターミナル上 Method Not Allowed (GET): /about Method Not Allowed: /about
ディレクトリの構造
必要な箇所のみ記載させて頂きます。
app ├── templates │ └─ app │ ├── about.html │ └── base.html │ ├── urls.py └── views.py
該当のソースコード
該当のコードのみ記載しております。必要以上に省略してしまいましたらすみません。
urls.pyの中身は以下の通りです。
python
1from django.urls import path 2from app import views 3 4urlpatterns = [ 5 path('', views.IndexView.as_view(), name='index'), 6 path('post/new/', views.CreatePostView.as_view(), name='post_new'), 7 #ご指摘につき下記1行追加しました。 8 path('about', views.AboutView.as_view(), name='about_top') 9]
views.pyの中身は以下の通りです。
python
1from django.views.generic import View 2from django.shortcuts import render,redirect 3 4class IndexView(View): 5 def get(self, request, *args, **kwargs): 6 post_data = Post.objects.order_by("-id") 7 return render(request, 'app/index.html', { 8 'post_data': post_data, 9 }) 10 11class AboutView(View): 12 def about(request): 13 return render(request, 'app/about.html')
base.htmlの中身は以下の通りです。
html
1{% load static %} 2<body> 3 <div class="container"> 4 <ul class="navbar-nav ml-auto"> 5 <li class="nav-item"> 6 <a class="nav-link" href="/">ホーム</a> 7 </li> 8 <li class="nav-item"> 9 <a href="{% url 'about_top' %}" class="nav-link">DSSについて</a> 10 </li> 11 </ul> 12 </div> 13</body> 14 {% block extra_js %} 15 {% endblock %}
about.htmlの中身は以下の通りです。
html
1{% extends "app/base.html" %} 2{% load widget_tweaks %} 3 4{% block content %} 5<div class="contents"> 6 <div class="right text"> 7 <h4>1.テキストテキストテキストテキスト</h4> 8 </div> 9</div> 10{% endblock %}
試したこと
- views.pyのrender(request, "パス")に、間接パスや絶対パスを入力してみましたが、同様のエラーが発生しました。
- urls.pyのpathの第一引数をabout以外に変更しましたが、それも特に影響ありませんでした・・・
以上、どうぞ宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー