나는 여러 개의 스킨을 가진 웹 사이트를 작성합니다. 각 스킨마다 고유 한 스타일 시트가 있습니다.Django에서 스타일 시트가 GET 변수에 의해 결정되고 DRY를 위반하지 않고 여러 스타일 시트를 사용하려면 어떻게해야합니까?
whatever?skin=foo
페이지의 원인이됩니다 헤더에서이 HTML 포함 렌더링 할 : 보통 (
<link rel="stylesheet" type="text/css" href="/site_media/foo.css"/>
을 나는 나는이 URL 있도록하는 GET 변수에 의해 결정하는 데 사용되는 피부를 싶습니다 사용자의 취향에 따라 스킨이 결정되기를 원하지만이 방법을 사용하기를 원하므로 사용자는 새로운 스킨의 모양을 미리 볼 수있을뿐만 아니라 개발 도중에 쉽게 만들 수 있습니다.)
이것은 장고에서 매우 쉽게 할 수 있습니다. 예를 들어, 템플릿을 사용할 수 있습니다. S 라인 :
<link rel="stylesheet" type="text/css" href="/site_media/{{skin}}.css"/>
그리고이 같은보기 :
def whateverView(request):
""" called by URL /whatever """
skin = request.GET.get('skin', "default")
c = RequestContext(request, {'skin': skin})
html = whateverTemplate.render(c)
return HttpResponse(html)
하지만 내가 모든 단일보기로 같은 코드를 추가 할 것 같은, 그런 식으로 할 필요가 싶지 않아 이는 DRY을 위반합니다.
그래서 코드를 한 번만 작성하면서 모든 페이지에서 작동하도록 할 수있는 방법이 있습니까?
감사합니다. 하나의 약간의 문제가 있지만 : settings.py'에서 처음에 시도 : –