Django URL- 클린 URL을 통해 여러 대의 Caterories를 전달하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/844276

문제

나는 get params에서 길을 유지하고 싶다. Post를 사용하고 싶지 않으며 URL을 구축하기 위해 적어도 두 가지 다른 범주가 있습니다.

방문자는 먼저 다음 중 하나가 될 수있는 위치를 선택하도록 요청받습니다.http://foo.com/united-states/ || http://foo.com/united-states/california/ || http://foo.com/united-states/california/san-francisco-region/ || http://foo.com/united-states/california/san-francisco/

위치가 선택되면 예를 들어 다음 중 하나가 될 수있는 범주를 선택할 수 있습니다.

http://foo.com/electronics/ || http://foo.com/electronics/camera/ || http://foo.com/electronics/camera/digital/ || http://foo.com/electronics/camera/digital/slr/

그렇다면 위의 URL을 하나로 결합하면 위치와 범주를 선택하면 어떻게해야합니까?

페이지 매김을 위해 페이지 번호를 통과해야 할 수도 있습니다. (http://foo.com/page/2/)

URL을 깨끗하고 자기 설명을 유지하고 싶습니다. 한 번에 한 가지 유형의 URL을 수행하는 방법을 알고 있지만 여러 유형을 결합하지는 않습니다.

내가 얻는다면, 나는 할 것입니다. http://foo.com/?locid=23323&catid=335&page=2, 그러나 나는 Django의 깨끗한 URL을 활용하고? & 물건에서 길을 유지하는 것을 좋아합니다.

감사,

VN44CA

도움이 되었습니까?

해결책

나는 이것이 URL의 많은 정보에있을 것이라고 생각합니다. 나는 모든 위치에 고유 한 ID가 있다고 가정합니다. URL을 구축하지 않는 이유 :

http://foo.com/united-states/electronics/

http://foo.com/california/digital/

http://foo.com/san-francisco/slr/

등등...

귀하의 경우에 2 인수로 충분합니다. 또는 카테고리 이름을 더 의미있게 변경할 수 있습니다.

http://foo.com/electronics/camera/digital/ => http://foo.com/digital-cameras/

다른 팁

위치 데이터를 사용하는 방법과 사용자가 위치를 얼마나 자주 변경하려고하는지에 따라 URL에 지정하는 대신 세션에 가장 잘 저장 될 수 있습니다.

예를 들어, 샌프란시스코에서 SLR 디지털 카메라를 찾아 볼 시간이 될 것 같지 않습니다. 그런 다음 볼티모어에서 농구를 찾고 있습니다.

하지만 분명히 위치-범주 조합에 퍼마 링크를 원한다면 충분하지 않습니다.

이것에 대해 잠시 생각 한 후, 나는 이것에 대한 최상의 솔루션 (나에게)은 문자열이 깨끗한 URL에 필요한 모든 인수를 고정시키는 것임을 알았습니다.

따라서 사용자가 처음 오면 http://foo.com/ 선택할 위치가 제공됩니다. 이 시점에서 쿠키는 비어 있습니다.

따라서 사용자는 계속해서 United-State를 선택하면 URL이 http://foo.com/12334_0_0_0/united-states/ 위치 쿠키는 미국 위치의 ID 인 1234로 설정됩니다.

이제 사용자는 캘리포니아를 선택하고 URL이 http://foo.com/1235_0_0_0/united-states-california/ 쿠키는 미국에서 1235로 교체되어 캘리포니아 위치의 신분증입니다. 이 시점에서 사용자는 카테고리 전자 장치를 선택합니다. 따라서 URL이 변경됩니다 http://foo.com/1235_3333_0_0/electronics/ 3333은 카테고리 쿠키에 저장됩니다.

사용자가 SLR 카메라로 내려 가면 http://foo.com/1235_3344_0_0/slr-cameras/.

이런 식으로 URL의 첫 번째 부분은 전달할 수있는 최대 4 개의 인수를 추적하며 이름 (슬러그)은 단지 프레젠테이션과 SEO를위한 것입니다.

이것이 제대로 작동 할 것 같아요? URL의 X_Y_Z_P 부분을 임의의 텍스트로 인코딩하고 Args & Numbers로 다시 디코딩하는 것이 좋습니다.

당신이 어떻게 생각하는지 알려주세요?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top