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)


ログイン画面


トップページ

LANGUAGE_CODE = 'ja'を設定

API

rest-frameworkでAPIが提供されるようになる。

デフォルトはSessionで認証するみたいなので、getJSONで値をとってみた。

この辺はrest-frameworkの仕様で、設定によってoauthとか、basic認証とかに変えることができるらしい。


pydanny/django-admin2 · GitHub
Django REST framework - APIs made easy