django-admin2を試した
インストール
pip install django-admin2
設定
djadmin2と依存ライブラリをINSTALLED_APPSに含める
settings.py
INSTALLED_APPS += ( 'djadmin2', 'rest_framework', # for the browsable API templates 'floppyforms', # For HTML5 form fields 'crispy_forms', # Required for the default theme's layout )
urls.py
import djadmin2 from django.conf.urls import patterns, include, url djadmin2.default.autodiscover() urlpatterns = patterns('', ... url(r'^admin2/', include(djadmin2.site.urls)), )
適当なアプリとモデルを作ってみる
posts/models.py
from django.db import models class Post(models.Model): title = models.CharField(max_length=30) body = models.TextField(max_length=1000) publish_date = models.DateTimeField(auto_now_add=True) modify_date = models.DateTimeField(auto_now=True) def __unicode__(self): return self.title
posts/admin2.py
from .models import Post import djadmin2 djadmin2.default.register(Post)
API
rest-frameworkでAPIが提供されるようになる。
デフォルトはSessionで認証するみたいなので、getJSONで値をとってみた。
この辺はrest-frameworkの仕様で、設定によってoauthとか、basic認証とかに変えることができるらしい。
pydanny/django-admin2 · GitHub
Django REST framework - APIs made easy