자주 묻는 질문: 장고 사용하기¶
왜 DJANGO_SETTINGS_MODULE를 import하는데 에러가 발생하나요?¶
꼭 확인하세요.
- The environment variable
DJANGO_SETTINGS_MODULE
is set to a fully-qualified Python module (i.e. 《mysite.settings》). - 모듈이 ``sys.path``에 있다고 합시다.( ``import mysite.settings``는 작동할 것입니다.)
- 모듈은 문법오류를 포함하지 않습니다.
당신의 템플릿 언어를 못견디겠습니다. 이걸 써야 하나요?¶
chunky bacon이후로 저희들은 저희 템플릿 엔진이 최고라고 생각해 왔습니다, 하지만 템플릿 언어를 고른다는 것은 종교에 가깝다는 것을 깨달았습니다. 장고는 어떤 템플릿 언어를 요구하지 않습니다. 따라서 Jinja2, Mako 같은 어떤것이라도 자유롭게 사용하실 수 있습니다.
모델/데이터베이스 계층을 사용해야 하나요?¶
아니요. 템플릿 시스템과 같이, 모델/데이터베이스 계층은 나머지 프레임워크와 떼어놓을 수 있습니다.
한 가지 예외사항은, 만약 다른 데이터베이스 라이브러리를 사용한다면, 장고가 자동으로 만드는 관리자 사이트를 사용하지 못할 것입니다. 이 앱은 장고 데이터베이스 계층과 연결되어 있기 때문입니다.
어떻게 이미지나 파일 필드를 사용할 수 있나요?¶
FileField
를 사용하거나, 모델의 ImageField
를 사용하면 간단한 과정입니다.
- 당신의 설정 파일에, 장고가 업로드 할 디렉토리의 전체 경로를
MEDIA_ROOT`에 정의해야 합니다. ( 성능을 위해서 이 파일들은 데이터베이스에 저장되지 않습니다.). :setting:`MEDIA_URL
기본 공개 URL 디렉토리로 정의하세요. 또한 웹서버의 사용자 계정으로 이 디렉토리에 쓰기가 가능하도록 해야 합니다. - Add the
FileField
orImageField
to your model, defining theupload_to
option to specify a subdirectory ofMEDIA_ROOT
to use for uploaded files. - 당신의 데이터베이스에 저장되는것은 해당 파일에 대한 경로 정보입니다.(
MEDIA_ROOT`에 관한 ). 당신은 장고가 제공하는 :attr:`~django.db.models.fields.files.FieldFile.url
속성을 자주 쓰게 될 것입니다. 예를 들면 만약 당신의 :class:`~django.db.models.ImageField`가 ``mug_shot``이면, 템플릿에서 이미지에 대한 절대 경로를 ``{{ object.mug_shot.url }}``로 얻을 수 있습니다.
어떻게 템플릿에 변수를 사용할 수 있도록 만드나요?¶
Sometimes your templates all need the same thing. A common example would be dynamically generated menus. At first glance, it seems logical to add a common dictionary to the template context.
The best way to do this in Django is to use a RequestContext
. Details on
how to do this are here: Using RequestContext.