자주 묻는 질문: 장고 사용하기

왜 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 를 사용하면 간단한 과정입니다.

  1. 당신의 설정 파일에, 장고가 업로드 할 디렉토리의 전체 경로를 MEDIA_ROOT`에 정의해야 합니다. ( 성능을 위해서 파일들은 데이터베이스에 저장되지 않습니다.). :setting:`MEDIA_URL 기본 공개 URL 디렉토리로 정의하세요. 또한 웹서버의 사용자 계정으로 이 디렉토리에 쓰기가 가능하도록 해야 합니다.
  2. Add the FileField or ImageField to your model, defining the upload_to option to specify a subdirectory of MEDIA_ROOT to use for uploaded files.
  3. 당신의 데이터베이스에 저장되는것은 해당 파일에 대한 경로 정보입니다.( 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.

Back to Top