0

polls という名前のポーリング アプリの作成に関する Django プロジェクトのチュートリアルを行った後、同じ仮想環境で別の名前で自分のプロジェクトを開始しました。今、インデックスビューの下で新しいアプリで行ったことは、まだhttp://127.0.0.1:8000/polls/にしか表示されていませんが、http://127.0.0.1:8000/mynewproject/

これを修正するには助けが必要ですか、それとも 1 つの仮想環境で 1 つの django プロジェクトに取り組むことができるというのは事実ですか? 2 番目の質問として、各プロジェクトを異なる仮想環境に設定する必要がありますか?

4

1 に答える 1

0

最初の答え:

まず、この2点について言及したいと思います

  1. 仮想環境にいくつのプロジェクトが存在するかは問題ではありません。それぞれが異なるmanage.py.
  2. また、各プロジェクトは異なるアドレスで実行されますが、単一のアプリは異なるアドレスで実行されません (手動で実行するまで)。

ここで述べたように、このような同じプロジェクト内に別のアプリを作成しました

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 patternsurls.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 番目の回答: 単一の仮想環境で複数のプロジェクトを作成できます。ただし、パッケージやそのバージョンなどの構成は、すべて同じままです。そこに変更を加えると(アップグレード、劣化、インストール、またはアンインストールによって)、その仮想環境内のすべてのプロジェクトに影響します。

于 2016-04-21T20:44:25.040 に答える