Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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
Html 在django站点中的应用程序之间切换_Html_Django_Python 3.x - Fatal编程技术网

Html 在django站点中的应用程序之间切换

Html 在django站点中的应用程序之间切换,html,django,python-3.x,Html,Django,Python 3.x,我的网站上有2个应用程序: 使用者 基础 主url配置始终使用appname base/index.html引发url 当从base/index.html提供url操作say href=login时,它会自动 搜索base/login.html 我希望它切换应用程序并搜索用户/login.html 如何强制它切换html href或urlconf中的应用程序。我更喜欢使用url配置,但不知道如何使用 users/url.py from django.conf.urls import patter

我的网站上有2个应用程序:

使用者 基础 主url配置始终使用appname base/index.html引发url 当从base/index.html提供url操作say href=login时,它会自动 搜索base/login.html

我希望它切换应用程序并搜索用户/login.html

如何强制它切换html href或urlconf中的应用程序。我更喜欢使用url配置,但不知道如何使用

users/url.py

from django.conf.urls import patterns, include, url
from emp_users.views import *
from django.conf import settings
from django.views.generic.base import RedirectView

urlpatterns = patterns('',
    url(r'^index/$', RedirectView.as_view(url='/hr_base/index', permanent=False), name='index'),
    url(r'^new_user/$', register_user),
    url(r'^new_hr_user/$', register_hr_user),
)
site/url.py:这是主项目url.py

urlpatterns = patterns('',
    url(r'^base/index$','hr_base.views.index'),
    url(r'^users/', include('emp_users.urls')),
)
urlpatterns += patterns('',
    (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT},),# 'show_indices':True}),
)
site/base/templates/base/index.html

<a href="login">Login</a>
这将生成url users/login,然后访问user/views.py

urlpatterns = patterns('',
    url(r'^base/login/$', 'base.views.login'),
    url(r'^users/login/$', 'users.views.login')  
)
或 在主url.py文件中

urlpatterns = patterns('',
    url(r'^base/', include('base.url'),
    url(r'^users/', include('users.url') ,
)
或 在主url.py文件中

urlpatterns = patterns('',
    url(r'^base/', include('base.url'),
    url(r'^users/', include('users.url') ,
)

Django没有在任何地方添加任何URL。您只是在模板中提供了一个相对URL,因此您的浏览器正在向其添加当前路径。如果要指定其他路径,则需要提供完整URL:

但是,在任何情况下,都不应该在模板中硬编码URL。您应该让Django提供完整的URL:

<a href="{% url 'login' %}">Login</a>

Django没有在任何地方添加任何URL。您只是在模板中提供了一个相对URL,因此您的浏览器正在向其添加当前路径。如果要指定其他路径,则需要提供完整URL:

但是,在任何情况下,都不应该在模板中硬编码URL。您应该让Django提供完整的URL:

<a href="{% url 'login' %}">Login</a>

也许发布你的URL路由和模板样本会更好地说明你的情况。没有切换应用程序这样的事情。应用程序不是你所处的东西,它们只是功能的集合。要详细说明@DanielRoseman所说的话,请在文档中将其放在一边,它解释了django对应用程序的意义,以及它如何作为一个整体融入到你的项目中。应用程序是一种做一些事情的Web应用程序,例如,网络日志系统、公共记录数据库或简单的民意测验应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以位于多个项目中。强调我的。我得到了那个部分,但我需要的是url实际切换。正在自动将基/基添加到url模式。我需要一种方法将其更改为用户/我提供的任何url,向其添加基/前缀。如果我提供url用户/new_user,它将成为base/users/new_user并返回404,那么发布您的url路由和模板示例将更好地说明您的情况。没有切换应用程序这样的事情。应用程序不是你所处的东西,它们只是功能的集合。要详细说明@DanielRoseman所说的话,请在文档中将其放在一边,它解释了django对应用程序的意义,以及它如何作为一个整体融入到你的项目中。应用程序是一种做一些事情的Web应用程序,例如,网络日志系统、公共记录数据库或简单的民意测验应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以位于多个项目中。强调我的。我得到了那个部分,但我需要的是url实际切换。正在自动将基/基添加到url模式。我需要一种方法将其更改为用户/我提供的任何url,向其添加基/前缀。如果我提供url users/new_user,那么它将成为base/users/new_user并返回404,我发现了如何做到这一点。诀窍不在python代码中。它在你的html链接中。我们可以为每个应用程序使用带有相对url的url模式,但在html代码中,您显然给出了相对url,因为//这解决了问题。为了能到这里,我做了很多尝试和错误。我不能真正更改url配置中的任何内容。它只适用于更改的html链接。谢谢大家的帮助。我真的学到了很多。我发现了如何做到这一点。诀窍不在python代码中。它在你的html链接中。我们可以为每个应用程序使用带有相对url的url模式,但在html代码中,您显然给出了相对url,因为//这解决了问题。为了能到这里,我做了很多尝试和错误。我不能真正更改url配置中的任何内容。它只适用于更改的html链接。谢谢大家的帮助。我真的学到了很多。