用django写的程序,然后大概的问题是这样的.跟这个类似:
然后按照答案 改成 ./
的话,首页是可以访问的,但是内页,文章页就不行了.
网站的结构 :
默认生成的都是 /
的,我知道把所有的链接前面加一个 目录的名称 比如 /001/
也是可以访问的,但是感觉这样不够智能 而且也不够方便,求快捷的方法?
怪我咯2017-04-18 09:08:32
다음은 제가 이전에 쓴 책에서 발췌한 것입니다: It's Django
웹사이트에서 사용하는 이미지, CSS, js 파일 등과 같은 정적 파일은 동적 웹사이트에도 필요합니다. 이러한 정적 파일을 어떻게 관리하고 사용합니까? 먼저 상위 레이어 mysite
아래에 두 개의 폴더 static
를 추가합니다. assets
폴더는 개발 중에 정적 파일을 저장하는 데 사용되는 디렉터리로 이 디렉터리 아래에 여러 하위 디렉터리를 추가하여 다양한 파일을 저장할 수 있습니다. static
을 설정하여 이미지를 배치하거나 img
을 설정하여 CSS 파일을 배치하는 등 정적 파일 유형. 그리고 css
은 웹사이트가 실제로 온라인 상태일 때 정적 파일이 배치되는 디렉터리입니다. 이 두 디렉터리를 분리한 이유는 온라인 상태일 때 정적 파일 관리를 웹 서버에 넘겨줘야 하기 때문입니다. assets
로 이동하여 설정해 보겠습니다. settings.py
으아악
<테이블> <머리>
/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
의 경로와 일치합니다BASE_DIR
로 표시된 폴더 아래에 폴더를 추가하고 그 안에 이미지 파일, CSS, js를 넣을 수 있습니다pythonmanage.pycollectstatic
을 사용하면 Django는 STAIC_DIRS
아래에 있는 정적 파일을 STATIC_ROOT
에 복사합니다. 구성 파일의 DEBUG
가 False
로 설정되면 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
PHP中文网2017-04-18 09:08:32
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/
天蓬老师2017-04-18 09:08:32
.NET에 아웃바운드 urlrewrite가 있습니다
혼란스러울 것 같습니다
간단히 말하면 html 출력 앞에 필터를 추가하세요.
/로 시작하는 모든 링크 주소를 바꾸세요