在阅读了 Django Project 关于创建名为 polls 的投票应用程序的教程后,我在同一个虚拟环境中以另一个名称开始了我自己的项目。现在,我在索引视图下的新应用程序中所做的仍然只显示在http://127.0.0.1:8000/polls/应该在http://127.0.0.1:8000/mynewproject/
我需要帮助来纠正这个问题,或者在一个虚拟环境中,我可以在一个 django 项目上工作是事实吗?作为第二个问题,我应该在不同的虚拟环境中设置每个项目吗?
在阅读了 Django Project 关于创建名为 polls 的投票应用程序的教程后,我在同一个虚拟环境中以另一个名称开始了我自己的项目。现在,我在索引视图下的新应用程序中所做的仍然只显示在http://127.0.0.1:8000/polls/应该在http://127.0.0.1:8000/mynewproject/
我需要帮助来纠正这个问题,或者在一个虚拟环境中,我可以在一个 django 项目上工作是事实吗?作为第二个问题,我应该在不同的虚拟环境中设置每个项目吗?
第一个答案:
首先我想提一下这两件事
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
在 main中注册urls.py
from django.conf.urls import url,包括 from django.contrib import admin
urlpatterns = [
url(r'^app1/home', App1.views.home),
url(r'^app2/home', App2.views.home),
]
所以,就是这样,你只需要处理urls.py
文件。
第二个答案:您可以在单个虚拟环境中创建多个项目。但是像包和它们的版本这样的配置对所有人都是一样的。如果您在那里进行更改(通过升级、降级、安装或卸载),那么它将影响该虚拟环境中的所有项目。