2012-04-23 2 views
0

모든 사용자가 자신의 '홈페이지'를 가질 수있는 프로젝트를 만들고 싶습니다. 그래서 각 사용자에 대한 템플릿을 설정하고 그의 홈페이지 URL에 표시 할 수 있기를 원합니다. 사용자 프로필에 템플릿 이름을 저장하고 템플릿 로더에 전달하거나 더 안전하게/더 플러그 접속이 가능한 방법이 있습니까?Django에서 URL로 템플릿을 정의하는 방법은 무엇입니까?

+0

템플릿의 차이점은 무엇입니까? 그것은 바꿀 수 있습니까? 누구에 의해? – okm

+0

차이점은 대부분 광학에 불과합니다. 다른 CSS, 어쩌면 다른 이미지 크기 및 다른 탐색 등등. 나는 사용자가 드롭 다운 메뉴로 템플릿들 사이에서 선택할 수 있기를 원한다. 그러나 템플릿 수를 매우 쉽게 늘릴 수있는 것이 중요합니다. – JasonTS

+0

제목을 "사용자에 따라 다른 템플릿을 사용하는 방법"으로 변경할 수 있습니까? 그건 좀 더 명확 해. –

답변

1

사용자가 좋아하는 템플릿을 선택하고 배경 이미지, 스타일 표시 등과 같은 큼직한 기본 설정을 허용하려는 것처럼 들릴까요? 그렇다면 솔루션이 정상입니다. 실제로 사용자는 템플릿을 완전히 제어 할 수있는 대신 제공된 (확장 가능) 템플릿 중에서 선택할 수 있습니다.
또한 각 사용자에게만 사용되는 환경 설정의 경우. jsonfield 나 picklefield와 같은 직렬화 된 필드에 저장할 필요가 있습니다. 나는 이러한 필드의 편집을 쉽게하기 위해 응용 프로그램을 작성하고 있습니다.

1

사용자 프로필에 템플릿 이름을 저장하는 것이 좋습니다. 여러분이 말했듯이, 템플릿 렌더 메소드로 전달할 수 있습니다.

하지만 한 가지만주의하십시오. 사용자가 직접 템플릿 이름을 입력 할 수 없어야합니다. 그것은 보안상의 이유로 선택의 여지가 있어야한다고 생각합니다. https://docs.djangoproject.com/en/1.4/ref/models/fields/#choices 끝 부분에서 템플릿 선택 목록을 동적으로 만들 수 있습니다.

관련 문제