質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2137閲覧

Django 複数アプリケーション間のリンクが作りたい

nuko3

総合スコア31

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/11/12 06:35

前提・実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

DB_Name/urls.pyとDB_Zaiko/urls.pyとDB_Torihiki/urls.pyには記述していますか?

main/urls.pyの中ではhttp://localhost/main/がもつurlのみを記述してください(なぜDB_NameやDB_Zaikoを記述しているのでしょうか?)

リンクはaで張るだけです。

質問の意図と違っていたら申し訳ありません。自分からは以上です

投稿2018/11/12 06:47

yamato_user

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nuko3

2018/11/12 07:17

DB_Name/urls.py等に何か追加するんでしょうか? main/urls.pyに他のpathが入っていたのは勘違いでした。すみません。。 テンプレートの方に直接<a href="http://localhost:8000/DB_Name/">作業管理ページ</a>と打ったら理想形になりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問