2017-05-08 1 views
1

내가하려고하는 일에 대한 간략한 설명은 'home.html'웹 페이지 (홈 응용 프로그램에 있음)에 액세스하려고하는데 'rates.html' '웹 페이지 (요금제 앱에 존재)를 얻으려고 시도한 방식은 다음과 같습니다.인수 '()'및 키워드 인수 '{}'이 (가) 'home'에 대해 역순으로 발견되었습니다. 0 패턴

나는 다른 비슷한 문제들을 여기에서 보았고 그들은 모두 appname \ urls.py 부분에 네임 스페이스 부분을 지정하는 것을 잊어 버렸다. 나는 이것을 올바르게 app_name = '[namespace]'를 urls.py에 지정했다. 내 문제에 대한 특정 표시되는지

정확한 오류는 다음과 같습니다 인수 '집' '()'및 키워드 인자에 대한

역은 '{}'을 (를) 찾을 수 없습니다. 0 패턴 (들) 시도 : []

오류 'rate.html'에 HTML 코드의 라인 강조 :

<div id="logoholder"> 
    <a href="**{% url 'getrate:home' %}**"><img src="{%static 
    'home/images/transparentWatermark.png' %}" width="40" height="40" 
    style="margin:5px 10px"></a> 
</div> 

getrate \ urls.py :

from django.conf.urls import url, include 
from . import views 

app_name = 'getrate' 

urlpatterns = [ 
    url(r'^$', views.ViewRate, name='rate'), 
    url(r'^home/', include('home.urls', namespace='home')), 
] 

홈 \을 urls.py

from django.conf.urls import url, include 
from . import views 

app_name = 'home' 

urlpatterns = [ 

    url(r'^$', views.ViewHome, name='home'), 
] 

내 사이트 \

urls.py

rate.html에는 {% url 'getrate : home'%}을 (를) 통해 getrate \ urls.py를 트리거 할 수있는 회사 로고가 있습니다. getrate \ urls.py 코드는 그 안에 home \ urls.py를 포함합니다. 이 부분은 코드 줄에 네임 스페이스 홈이 있으므로 트리거됩니다. 이제 home \ urls.py를 살펴보고 마지막으로 정규 표현식 일치를 종료합니다. 내가 어떻게 잘못되었는지 알려주세요.

감사합니다.

답변

1

해당 URL이 존재하지 않기 때문에 오류가 발생했습니다! 모든

먼저 당신의이되지 않는 한 APP_NAME 인수

지원을 기록하고 장고 2.0에서 제거 될 예정입니다하시기 바랍니다 namespace들과 app_name을 혼합하여 자신을 위해 불필요한 혼란을 일으키는 원인이된다. URL 네임 스페이스에서 설명하고 이 URLconf는 대신

을 포함로 APP_NAME을 지정

심판 : https://docs.djangoproject.com/en/1.11/ref/urls/

둘째, 난 정말 당신이이 경우를 제외하고 (세 개의 별도 urls.py 파일이 필요 왜 표시되지 않습니다 당신이 재배포를 위해 구축하고있는 앱). 하나의 메인 urls.py는 총 세 개의 URL 만 가지고 있기 때문에 완벽하게 충분합니다.

이 부분을 계속 사용하려면 app_name을 제거하고 네임 스페이스 매개 변수 만 사용하고 다시 시도하십시오.

+0

"해당 URL이 없기 때문에 오류가 발생했습니다!" - 내가 이해하는 방식은/home/url을 얻는 것입니다. –

+0

분명히 그렇지 않습니다. 그 밖의 오류는 어떻게받을 수 있습니까? – e4c5

+0

내 대답에서 언급 한 바와 같이, 네임 스페이스 및 app_name 지시문이 상충됩니다. app_names를 남겨주세요 – e4c5

0

답변으로 인해 직접적인 문제가 해결되었지만 수행하려고했던 기능 (다른 앱의 html 페이지로 리디렉션 중임)을 달성하지 못했습니다. 내가 제대로 이해하지 못했던 것은 URL 작업 흐름이었습니다. 어떤 응용 프로그램에서라도 URL을 사용한다고 생각했는데 기본 웹 사이트 urls.py 코드 대신 해당 응용 프로그램의 urls.py 코드를 먼저 살펴 보았습니다.

실제 워크 플로우는 mysite/urls.py -> (가져 오기 및 라이브러리 포함 포함) -> app1/urls.py -> app2/urls.py -> app #/urls에서 진행됩니다. py. 항상 메인 URL에서 시작합니다.

이 개념의 오해로 인해 내 오류는 각 응용 프로그램의 각 urls.py 코드를 모든 종류의 오류, 무한 루프 등으로 연결하려고 시도하고있었습니다.

관련 문제