Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中不同应用的不同URL_Python_Django_Heroku - Fatal编程技术网

Python Django中不同应用的不同URL

Python Django中不同应用的不同URL,python,django,heroku,Python,Django,Heroku,我的Django项目文件夹中有两个应用程序,我希望每个URL.py文件指向不同的域。例如: 我的第一个project URL.py文件如下所示: urlpatterns = [ path('register/', views.register, name='register'), # path('login/', LoginView.as_view(template_name='Clientes/login.html'), name='login'), path('login/', views.

我的Django项目文件夹中有两个应用程序,我希望每个URL.py文件指向不同的域。例如:

我的第一个project URL.py文件如下所示:

urlpatterns = [
path('register/', views.register, name='register'),
# path('login/', LoginView.as_view(template_name='Clientes/login.html'), name='login'),
path('login/', views.login_view, name='login'),
path('', views.login_view, name='login'),
path('mail/', views.mail, name='mail'),
path('profile/config', views.config_view, name="config"),
path('profile/dashboard', views.dashboard_view, name="dashboard"),
path('profile/terms', views.TermsView.as_view(), name="terms"),
path('profile/distribution', views.DistributionView.as_view(), name="distribution"),
# path('', LoginView.as_view(template_name='Clientes/login.html'), name='index'),
path('profile/order', views.OrderView.as_view(), name='order'),
path('profile/list/<pk>', views.detail_view, name='detail_view'),
path('profile/list/', views.ListOperationsView.as_view(), name='list_operations'),

path('reset-password/', PasswordResetView.as_view(), name="reset_password"),
path('reset-password/done/', PasswordResetDoneView.as_view(), name="password_reset_done"),
path('reset-password/confirm/', PasswordResetConfirmView.as_view(), name="password_reset_confirm"),

path('profile/logout/', views.logout_view, name='logout'),
path('profile/', views.ProfileView.as_view(), name='profile'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns = [
path('atendimento/', views.DataView.as_view(), name='user_view'),
path('atendimento/opções', views.redirect_view, name='redirect_view'),
path('atendimento/rastreio', views.track_view, name='track_view'),
path('atendimento/trocas', views.change_view, name='change_view'),
path('atendimento/devolver', views.devolution_view, name='devolution_view'),
path('atendimento/contato', views.contact_view, name='contact_view'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT_ATENDIMENTO)
我希望这个应用程序指向example2.com


我该怎么做呢?

根据您更确切的需求,您可以:

  • 在virtualHost设置中的Apache级别重定向
  • 在模板中指定指向一个或另一个域的链接
  • 在your view.py中,指定指向其他URL的重定向


  • 这些应用程序是否共享数据库?他们需要在同一个项目中吗?他们共享同一个数据库,他们需要在同一个项目中。你如何在Heroku路由?我从未使用过Heroku,但在Nginx中,您可以通过设置位置块,通过反向代理将应用路由到您想要的位置,从而实现这一点。或者你真的希望解析的URL不同吗?我添加了app.scalestore.com.br作为我的站点,我也可以使用其他域访问同一个应用程序,但我需要的是转到,例如,app.scalestore.com.br并显示一个应用程序,如果我去store.scalestore.com.br,我会显示第二个应用程序。因此,Django网站是关键?我没有足够的关于您项目的信息来确定您真正想要什么。例如,您是否希望每个域为同一个项目提供服务,但您希望项目的某些部分最好在一个域下提供服务?我刚刚在上面发表了评论,也许这会澄清问题。因此,我想是的,Django站点是一个解决方案。另一个(如果您不关心用户在地址栏中实际看到的内容,则更简单的方法是重定向另一个地址栏,并直接在url.py中进行区分。不要忘记,您可以为每个应用程序创建url.py,然后可能通过在“app1/”和“app2”前面加上前缀将这两个url都包含到主url.py中)