2014-03-04 95 views
-1

應用程序之間切換我有我的網站2個應用程序:在Django網站

  • 用戶
  • 基地

的主URL的conf總是引發的URL與基地/索引程序的名字。 html 當一個url動作說href =「登錄」是從base/index.html提供它自動 搜索「base/login.html」

我wan t它切換應用程序並搜索「users/login.html」

我該如何強制它在html href或urlconf中切換應用程序。我更喜歡使用url conf,但不知道如何。

用戶/ 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), 
) 

網站/ urls.py:這是urls.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}), 
) 

網站/基/模板/基/ index.html的

主體工程
<a href="login">Login</a> 

這應該生成url users/login然後訪問user/views.py

+0

可能發佈您的URL路由和樣本模板將更好地說明您的情況。 – lanzz

+0

沒有「切換應用程序」之類的東西。應用程序不是你所處的東西,它們只是功能的集合。 –

+0

要詳細說明@DanielRoseman所說的內容,請在文檔中查看這一點,[「項目與應用程序」,(https://docs.djangoproject.com/en/1.6/intro/tutorial01/#creating-models)這解釋了django的「應用程序」意味着什麼以及它如何適合整個項目。 *「應用程序是一種Web應用程序,它可以執行某些操作 - 例如Weblog系統,公共記錄數據庫或簡單的民意調查應用程序。項目是特定網站**的配置和應用程序的集合。可以包含多個應用程序,一個應用程序可以在多個項目中。「*重點是我的。 – 2rs2ts

回答

1

Django的不加入任何的URL的任何地方。您只需在模板中提供相對URL,以便瀏覽器添加當前路徑。如果你想指定不同的路徑,那麼你需要提供完整的URL:<a href="https://stackoverflow.com/users/new_user">

但是,在任何情況下,您都不應該在模板中硬編碼URL。您應該讓Django提供完整的網址:

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

我發現如何做到這一點。訣竅不在於你的python代碼。它在你的html鏈接中。我們可以爲每個應用程序使用相關url的url模式,但是在您的html代碼中,您顯然會將您的相關url設爲 // 這就解決了這個問題。必須做大量的試驗和錯誤才能到達這裏。 我真的改變了URL conf中的任何內容。它僅適用於正在更改的html鏈接。感謝所有幫助的人。我真的學到了很多。 – preetam

1
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') , 
) 
+0

該功能可用。 – preetam