2016-10-14 3 views
0

제목이 끔찍합니다. 죄송합니다.django urls를 어떻게 구성하여 404를 표시하면 Reactjs로 바뀝니다

그래서 웹 사이트 www.myhairynose.com/라고 말하면됩니다. 사람이 www.myhairynose.com을 입력 할 때마다 index.html로 리디렉션되도록 urls.py를 구성했습니다 (여기서 URL은 reactjs 응용 프로그램을 표시합니다). reactjs를 react-router로 설정하고 인덱스 페이지의 버튼을 클릭하면 www.myhairynose.com/#/webpage로 이동합니다.

나는 ... 그럴 필요가 없습니다.

www.myhairnose.com/webpage로 이동하고 싶습니다. 나는 그러나 장고가 아닌 이것을 처리하기 위해 반응 싶습니다. 이 url은 index.html과 동일한 애플리케이션에 있어야합니다. django urls.py를 어떻게 구성하여 www.myhairynose.com/webpage에 들어가면 www.myhairnose.com ReactJs 응용 프로그램의 색인으로 이동 한 다음 경로에 웹 페이지가 있는지 확인합니다.

User goes to website.com/name 
>if website.com/name exists in django - it returns a html doc 
>if not then it redirects to website.com/ where ReactJs will handle the url and see if it matches any of the routers 
...> if it does, then it displays that route 
...> if not then it displays a django 404 or a custom 404 page. 

방법 : 나는 www.myhairynose.com/asdkjaskldsaj 갔다 그렇지 않으면 그것은 내가 일이 원하는 것을 기본적으로 404

______TLDR______ 를 표시해야합니다 (이 경로가없는 반응하는) 말 내가 장고와 reactjs를 구성합니까?

+0

로 기본보기를 정의 할 수 있지만 올바른 표준 또는 이렇게 방법이 있는지 확실하지 않습니다. 내 urls.py에있는 각 react.js 경로 링크를 하드 코딩하여 홈 템플릿에 대한 각 URL을 가리 켰습니다. 그것은 – user6946961

답변

0

반응을 렌더링하기 위해 장고를 사용하고 있습니까? views.LoadReactView과 같은 몇 가지보기가 있다고 가정합니다.

필요한 모든 경로가 있습니다.

from django.contrib import admin 
from myapp import views 

urlpatterns = [ 
    ... 
    url(r'^admin', admin.site.urls), 
    url(r'^', views.LoadReactView.as_view()), 
] 

매우 마지막 패턴으로 표시됩니다. 본질적으로 "다른 모든 경로를 확인한 후 일치하는 게없는 경우 여기로 가십시오"라고 말합니다.

또한, 당신은 또한 실제로 그냥 주위에 일을 발견하여 404 handler

urlpatterns = [ 
    ... 
] 

handler404 = views.LoadReactView.as_view 
+0

r '^ *'어떤 종류의 오류를 반환했습니다. r '^'을 의미합니까? – user6946961

+0

r '^'을 추가하면/admin과 같은 다른 URL에 액세스 할 수 없습니다. – user6946961

+0

죄송합니다. '/ admin'에 관해서 말했듯이,이 패턴은 아주 마지막 일 필요가 있습니다. 나는 명확성을 위해 대답에 관리자 줄을 추가하고있다. –