前端 - 网页根目录改成子目录后,文件如何调用?
PHP中文网
PHP中文网 2017-04-18 09:06:32
0
4
857

用django写的程序,然后大概的问题是这样的.跟这个类似:

然后按照答案 改成 ./ 的话,首页是可以访问的,但是内页,文章页就不行了.
网站的结构 :

默认生成的都是 / 的,我知道把所有的链接前面加一个 目录的名称 比如 /001/ 也是可以访问的,但是感觉这样不够智能 而且也不够方便,求快捷的方法?

PHP中文网
PHP中文网

认证0级讲师

모든 응답(4)
刘奇

다음은 제가 이전에 쓴 책에서 발췌한 것입니다: It's Django

정적 파일 사용

웹사이트에서 사용하는 이미지, CSS, js 파일 등과 같은 정적 파일은 동적 웹사이트에도 필요합니다. 이러한 정적 파일을 어떻게 관리하고 사용합니까? 먼저 상위 레이어 mysite 아래에 두 개의 폴더 static를 추가합니다. assets 폴더는 개발 중에 정적 파일을 저장하는 데 사용되는 디렉터리로 이 디렉터리 아래에 여러 하위 디렉터리를 추가하여 다양한 파일을 저장할 수 있습니다. static을 설정하여 이미지를 배치하거나 img을 설정하여 CSS 파일을 배치하는 등 정적 파일 유형. 그리고 css은 웹사이트가 실제로 온라인 상태일 때 정적 파일이 배치되는 디렉터리입니다. 이 두 디렉터리를 분리한 이유는 온라인 상태일 때 정적 파일 관리를 웹 서버에 넘겨줘야 하기 때문입니다. assets

다음으로

로 이동하여 설정해 보겠습니다. settings.py 으아악

여기에서는 총 3개의 매개변수가 설정됩니다. 자세한 설명은 다음과 같습니다.

매개변수 설명 STATIC_URL 정적 파일의 URL 패턴입니다. 여기서는 /static/으로 설정한 다음 /static/으로 시작하는 웹페이지 경로가 고려됩니다. http://127.0.0.1/static/hello.png, http://127.0.0.1/static/hi.js와 같은 정적 파일로, 그러나 http://127.0.0.1/restaurants/static/인 경우 정적 파일 대신 urls.py의 경로와 일치합니다 STATICFILES_DIRS 개발 중에 정적 파일이 배치되는 폴더입니다. 정적 파일의 위치를 ​​나타내기 위해 여러 폴더를 설정할 수 있습니다. 위에서 설정한 대로 BASE_DIR로 표시된 폴더 아래에 폴더를 추가하고 그 안에 이미지 파일, CSS, js를 넣을 수 있습니다 STATIC_ROOT 온라인에 접속할 때 정적 파일이 저장되는 폴더입니다. pythonmanage.pycollectstatic을 사용하면 Django는 STAIC_DIRS 아래에 있는 정적 파일을 STATIC_ROOT에 복사합니다. 구성 파일의 DEBUGFalse로 설정되면 Django는 기본적으로 정적 파일 반환을 처리하지 않기 때문에 이러한 파일은 다음 명령을 통해 폴더에 수집됩니다. 웹 서버 관리 및 읽기 용이

위 매개변수를 설정한 후 템플릿의 STATICFILES_DIRS 폴더에 있는 정적 파일을 사용할 수 있습니다. 웹사이트가 페이지에 그림 logo.png(mysite/static/img/logo.png에 추가)을 추가하려고 한다고 가정하면 템플릿에 다음과 같이 작성합니다.

으아악

완료되었습니다. 그런데 어느 날 강제로 정적 파일의 웹 페이지 경로를 /static_file/으로 변경하게 된다면, 경로를 찾아서 템플릿 하나씩 수정해야 하는 게 힘들지 않나요? "Django"와의 비교는 다음과 같습니다.

으아악

템플릿에 staticfiles를 먼저 로드한 후 {% static ...%} 태그를 사용하세요. 위의 조정 후 Django는 정적 파일 처리 시 {% static 'img/logo.png' %} '/static/img/logo.png'로 변환하며, 정적 파일의 경로를 수정해야 할 경우 settings.py 파일의 STATIC_URL을 안전하고 과감하게 수정할 수 있습니다. 많은 수의 템플릿을 수정하는 것에 대해 걱정할 필요가 없습니다.


내가 답변한 질문: Python-QA

洪涛

View에 해당하는 URL을 참고하시면 이 문서를 보실 수 있습니다
https://docs.djangoproject.com/en/1.9/intro/tutorial03/#removing-hardcoded-urls-in-templates

js, CSS와 같은 정적 파일을 참조하는 경우 Django 구성 https://docs.djangoproject.com/en/에서 STATIC_URL
을 변경하여 이를 수행할 수 있습니다. 1.9/howto /static-files/

Peter_Zhu

.NET에 아웃바운드 urlrewrite가 있습니다
혼란스러울 것 같습니다
간단히 말하면 html 출력 앞에 필터를 추가하세요.
/로 시작하는 모든 링크 주소를 바꾸세요

黄舟

Apache는 .htaccess 파일을 사용하여 액세스된 주소를 다시 쓸 수 있는 것으로 보입니다. 이는 일반적인 규칙입니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!