settings에서 templates 설정
프롬프트 Syntax Error: EOL while scanning string literal: 백슬래시 오류\아닙니다\
내 mysite 프로젝트의 전체 디렉토리:
C:\web\mysite>tree /F
C PATH
00000200 0007:9B9B
C:.
│ db.sqlite3
│ manage.py
│
├─blog
│ │ admin.py
│ │ admin.pyc
│ │ forms.py
│ │ forms.pyc
│ │ models.py
│ │ models.pyc
│ │ tests.py
│ │ urls.py
│ │ urls.pyc
│ │ views.py
│ │ views.pyc
│ │ __init__.py
│ │ __init__.pyc
│ │
│ ├─migrations
│ │ 0001_initial.py
│ │ 0001_initial.pyc
│ │ __init__.py
│ │ __init__.pyc
│ │
│ └─templates
│ └─blog
│ base.html
│ post_detail.html
│ post_draft_list.html
│ post_edit.html
│ post_list.html
│
├─mysite
│ │ lujing.py
│ │ settings.py
│ │ settings.pyc
│ │ urls.py
│ │ urls.pyc
│ │ wsgi.py
│ │ wsgi.pyc
│ │ __init__.py
│ │ __init__.pyc
│ │
│ └─templates
│ ├─mysite
│ │ base.html
│ │
│ └─registration
│ login.html
│
└─static
└─css
blog.css
templates 디렉터리는 일반적으로 app 아래에 기본적으로 있습니다. 제 예에서templates는 블로그 아래에 있습니다. 만약에 html이 있으면 자동으로 식별됩니다. 만약에 당신의templates 디렉터리가 이렇게 만들어진다면 mysite/mysite/settings를 사용할 필요가 없습니다.py에서templates 디렉터리가 어디에 있는지 설명하고django는 자동으로 찾을 것이다. 주로 APP 각각의templates 디렉터리에 APP의 특정한 템플릿을 저장한다. APP에 대응하는templates 디렉터리에 템플릿 파일 자체를 직접 저장하지 않고 이 디렉터리에 APP 이름으로 명명된 디렉터리를 만든다. mystite/bolg/templates/blog
하지만, 나는 굳이 평범한 길을 가지 않을 것이다. 나는templates를 어딘가에 세울 것이다. 어떡하지.
사용자 인증을 쓸 때 템플릿login이 필요합니다.html, 기본 디렉터리는 mysite/mysite/templates/login입니다.html, 두 번째 mysite 디렉터리는 app도 아니고, 당신의templates는 식별되지 않겠죠. 어떡해요. 우리는 mysite/mysite/settings에 있어요.py의 파일에서 이 templates 디렉터리가 어디에 있는지 사용자 정의합니다. 코드:
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, "mysite\\templates").replace('\\','/'),#
)
무슨 소리야,settings에서.py에 규정되어 있는데,
import os
BASE_DIR = os.path.dirname(os.path.dirname(file))
base_dir는 프로젝트 프로젝트의 디렉터리이고 프로젝트 디렉터리의 다음 단계는 응용 프로그램의 디렉터리입니다.
os.path.dirname(file):settings.py 파일이 있는 디렉토리: C:\web\mysite\mysite
os.path.dirname(os.path.dirname(file): 다시 한 번, 바로 C:\web\mysite\mysite의 상위 디렉터리입니다. 결과: C:\web\mysite, 즉 BASEDIR은 C:\web\mysite, 즉 프로젝트의 디렉토리입니다.
다음과 같이 설명합니다.
os.path.join(BASE_DIR, "mysite\\templates").replace('\\','/'),#\\ \
베이스를 교체하자dir
os.path.join(BASE_DIR, “mysite\templates”).replace(‘\’,’/’),
os.path.join(“C:\web\mysite”, “mysite\templates”).replace(‘\’,’/’),
우리는 보지 않는다.replace(‘\’,’/’),
결과:os.path.join(“C:\web\mysite”, “mysite\templates”)==C:\web\mysite\mysite\templates
이것은 문자의join과 다르기 때문에\mysite\templates가 아니라 mysite\templates로 써야 합니다.
r”C:\web\mysite\mysite\templates”.replace(‘\’,’/’)==’C:/web/mysite/mysite/templates’
그래서 앞에 있는 말은 다음과 같다.
TEMPLATE_DIRS = (
r'C:/web/mysite/mysite/templates',
)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.