2010-06-04 3 views
0

다음은 최근 게시 된 CherryPy 및 CSS 경로 지정 문제의 결과입니다. 둘 다 답변되었지만 또 다른 문제가 발생했습니다.CSS 파일 액세스를위한 CherryPy 구성

브라우저 (예 : 편집기/IDE)에서 미리보기를하고 응용 프로그램 폴더 (main.py 및 My.html 파일 포함)와 병행하여 CSS 파일에서 CSS 파일을 호출하는 html 페이지가 있습니다. 이를 위해 html 헤더에서 상대 경로 지정을 사용합니다 ...

<link rel="stylesheet" href="..\css\commoncss.css" type="text/css"> 

모두 좋았습니다. 그러나 나는 Main.py을 실행할 때, CSS 파일을 찾을 수 없습니다, 페이지합니다 ... CP 구성 파일 :-(엉망이 다음 줄을 포함

tools.staticdir.root = "my\app\folder" # contains Main.py and My.html 

을 보이지만 CP 때문에 다른 staticdir 선언하지 .. \ css \ commoncss.css 정적 루트 폴더를 기준으로 찾고 있어야합니다 (맞습니까?)

내 CSS 폴더를 최상위 폴더로 가질 수 있습니다. 그런 다음 href = "/ css/commoncss "라고 선언하고 /css를 staticdir로 선언)하지만 CSS 폴더는 app 폴더의 하위 폴더가 될 수 있지만 실제로는 .css 파일을 다른 폴더에 넣을 수있는 자유가 필요합니다. 가능한 경우 하나 이상의 앱에 공통적 일 수 있습니다.

정말이 문제를 해결하고 싶습니다. 그렇지 않으면 html 지시어를 변경하지 않고 html 디자이너가 Python 프로그래머와 동일한 템플릿을 사용할 수 없기 때문입니다.

도움을 주시면 감사하겠습니다. CP는 을 찾고해야하기 때문에

앨런

답변

1

하지만 다른 staticdir 선언 .. \ CSS를 \ commoncss.css 정적 루트 폴더에 대한 상대 (내가 맞다?)

URL을 통해 실제 파일 디렉토리 (정적 디렉토리)에 접근 할 수 없으며, 원하는대로 할 수 없습니다.

Cherrypy는 URL 계층에서 HTML 파일에 상대적인 CSS 파일을 찾고 있습니다. HTML 파일이 루트에 있으면 작동하지 않습니다. 주소가 /stuff/blarg.html 인 경우 루트로 이동하여 css 폴더를 찾습니다.

는 CSS 디렉토리가 알려진 위치에있을 것을 규정하는 것이 합리적이기 때문에, 그것은 단지 절대 경로를 제공하기 위해 쉽게 생각은 "/css/commoncss.css"

+0

감사 라이언 - 나는 편리함을 포기해야처럼 보인다 브라우저에서 HTML 미리보기. 그럼에도 불구하고 지불해야 할 작은 가격이지만 불편 함. 문안 인사. –