2010-06-02 2 views
0

REST API가 "데이터베이스"이기 때문에 데이터베이스가 필요없는 웹 사이트를 구축하고 있습니다. (API는 주로 모바일 클라이언트에서 사용되기 때문에 특정 사이트에 특정 사이트를 추가하고 싶지는 않습니다.)모범 사례 : 장고에 데이터베이스없이 간단한 데이터를 유지하는 방법?

그러나 일반적으로 데이터베이스에 저장되는 몇 가지 사항이 있습니다 (예 : '작업 "페이지. 마스터 목록보기 및 각 작업에 대한 세부 정보보기가 있으며 새 작업 항목을 쉽게 추가 할 수 있어야합니다. (CMS를 반드시 거쳐야하는 것은 아니지만 그럴 것입니다.)

예 : example.com/careers/example.com/careers/77/

템플릿에서이 내용을 하드 코딩 할 수는 있지만 DRY가 아닙니다. 매번 마스터 템플릿과 세부 템플릿을 업데이트해야합니다.

너희들은 어떻게 생각하니? 아마 YAML 파일일까요? 또는 더 좋은 아이디어? Thx

답변

5

데이터베이스에 보관하지 않는 이유는 무엇입니까? 원격 REST 저장소는 모두 훌륭하고 펑키하지만 로컬 데이터가있는 경우 로컬 DB에 일부 항목을 저장하는 것을 막을 수있는 기능은 없습니다 (사양이 없으면 제외). v 화려하지 않아도됩니다 - sqlite가 될 수도 있고 redis 등으로 재미를 볼 수도 있습니다.

+0

가능한 경우 데이터베이스에서 멀리하고 싶습니다. 스키마 설계, 마이그레이션, 모든 환경에 현재 스키마, 큰 실패 지점, sysadmin 두통 등이 있음을 확인하십시오. – adamJLev

+3

Django ORM은 스키마 설계를 쉽게하고 South는 마이그레이션을 꽤 잘 처리합니다 ... admin 인터페이스는 괜찮은 무료 CRM을 만듭니다. .. –

+0

+1 Chris L의 포인트. Redis를 사용하고 싶다면 http://github.com/andymccurdy/redis-py에있는 README를 통해 얼마나 간단한 지 확인할 수 있습니다 (단, Django ORM의 쉬운 힘을 얻지는 못하지만). –

1

Python 라이브러리에 내장 된 일부 대안은 설명서의 Data Persistence 장에 나와 있습니다. 또 다른 하나는 JSON입니다.

2

장고 캐시 인터페이스를 통해 Memcachedb를 사용할 수 있습니다. 예를 들어

:

장고 설정에서 memcached를 대신 memcachedb을 사용/설치하는 캐시 백엔드 설정합니다.

Django는 동일한 인터페이스를 제공하기 때문에 (적어도 마지막으로 확인했을 때) 두 가지의 차이점을 알 수 없습니다.

Memcachedb는 멀티 스레드 장고 서버에서 지속적이고 안전하며 서버를 다시 시작할 때 데이터를 손실하지 않지만 키 값 저장소 일뿐입니다. 완전한 데이터베이스가 아닙니다.

관련 문제