前提・実現したいこと
DjangoでWEBアプリケーションを作っています。
最初のページに索引画面を作りたいのですが、プロジェクト内にある複数のアプリケーションへのリンクを作るには、どうすればいいでしょうか?
別アプリケーションへのビューの書き方や、urlsの書き方、書く位置が分かりません。。
理想:http://localhost/main/内のリンクを踏むとhttp://localhost/DB_Nameに飛ぶ
現実:〃リンクを踏むとhttp://localhost/main/DB_Name/に飛び、正常に表示されない
想定 ※(アプリケーション名)
メインページ(main)
作業記録ページ※リンク 在庫ページ※リンク 取引記録ページ※リンク
↓ ↓ ↓
管理ページ(DB_Name) 管理ページ(DB_Zaiko) 管理ページ(DB_Torihiki)
試したこと
#mysite/urls.py from django.contrib import admin from django.urls import include, path urlpatterns = [ path('main/', include('main.urls')), path('DB_Name/', include('DB_Name.urls')), path('DB_Zaiko/', include('DB_Zaiko.urls')), path('DB_Torihiki/', include('DB_Torihiki.urls')), path('admin/', admin.site.urls), ]
#main/urls.py from django.urls import path from . import views app_name = 'main' urlpatterns = [ path('', views.main, name='main'), path('DB_Name/', views.DB_Name, name='DB_Name'), path('DB_Zaiko/', views.DB_Zaiko, name='DB_Zaiko'), path('DB_Torihiki/', views.DB_Torihiki, name='DB_Torihiki'), ]
main/views.py from django.shortcuts import render def main(request): return render(request, 'main/index.html', {}) def DB_Name(request): return render(request, 'DB_Name/Name.html', {}) def DB_Zaiko...
と、書くと踏んだ先のURLが『http://localhost:8000/main/DB_Name/』になってしまいますが、一応DB_Nameのテンプレートの表示が出来ていました。
ですが、そのアプリケーション内の諸々が読み込まれていないのか、肝心のDB表示が出来ていませんでした。
『http://localhost:8000/DB_Name/』を直接打つとそのアプリケーションのテンプレートが正常に表示されます。
ファイル構造
mysite ├─mysite | ├─__init__.py | ├─settings.py | ├─urls.py | └─wsgi.py ├─main #メイン() | ├─migration | ├─tenplates | ├─models.py | ├─views.py | └─urls.py ├─DB_Name #作業管理 | ├─migration | ├─tenplates | ├─models.py | ├─views.py | ├─urls.py | └─... ├─DB_Zaiko #在庫 | ├─... ├─DB_Torihiki #取引記録 | ├─... ├─... └─manage.py
###バージョン等
Windows10
Python 3.7
Django 2.1.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/12 07:17