最初の答え:
まず、この2点について言及したいと思います
- 仮想環境にいくつのプロジェクトが存在するかは問題ではありません。それぞれが異なる
manage.py
.
- また、各プロジェクトは異なるアドレスで実行されますが、単一のアプリは異なるアドレスで実行されません (手動で実行するまで)。
ここで述べたように、このような同じプロジェクト内に別のアプリを作成しました
Project
-- manage.py
-- Project
-- -- settings.py
-- -- urls.py <<--- Main url pattern file for whole project
-- -- wsgi.py
-- App1
-- -- views.py
-- -- models.py
-- -- urls.py <<-- Another specific urls pattern file for App1 (optional)
-- -- others
-- App2
-- -- views.py
-- -- models.py
-- -- urls.py <<-- Another specific urls pattern file for App2 (optional)
-- -- others
したがって、次のような特定のアプリごとに urlpatterns を登録すると
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^home/$',views.home, name = "app_home"),
]
と
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^home/$',views.home, name = "app_home"),
]
urls.py
次に、これらのファイルの両方をこのように含める必要がありprojects main urls.py
ます
from django.conf.urls import url, include
urlpatterns = [
url(r'^app1/', include('app1.urls')),
url(r'^app2/', include('app2.urls')),
]
または、メインにdon't wanna go like this
登録できる場合both url patterns
urls.py
django.conf.urlsからURLをインポートし、django.contribからインポート管理者を含めます
urlpatterns = [
url(r'^app1/home', App1.views.home),
url(r'^app2/home', App2.views.home),
]
つまり、それだけurls.py
です。ファイルを処理するだけです。
2 番目の回答: 単一の仮想環境で複数のプロジェクトを作成できます。ただし、パッケージやそのバージョンなどの構成は、すべて同じままです。そこに変更を加えると(アップグレード、劣化、インストール、またはアンインストールによって)、その仮想環境内のすべてのプロジェクトに影響します。