屋根裏の部屋

ハーブとボードゲームと技術のページ

Engineering

Djangoの管理画面作成

2018/06/13

前回の内容の続き。管理画面を作る
http://www.s-runoa.com/352

デザインの修正

まず開いてみる

プロジェクトを作成してとりあえず /admin/ を開いてみる

スクリーンショット 2017-02-01 16.14.02

デザインの崩れたログインページが出てきた

CSSを読み込めるようにする

confファイルを修正。Aliasを使って、/static/admin/ へのアクセスを Django のインストール先にする

Alias /static/admin/ /home/ooo/.pyenv/versions/3.6.0/lib/python3.6/site-packages/django/contrib/admin/static/admin/

修正後

CSSが適用されて画面の真ん中にこのような表示が出る

スクリーンショット 2017-02-01 16.42.52

スーパーユーザーの作成

$ python manage.py createsuperuser
Username (leave blank to use 'ec2-user'): ooo
Email address: xxx
Password: ***
Password (again): ***
Superuser created successfully.

DBへの書き込みエラーの修正

ログインするとこんなエラーが出る

OperationalError at /admin/login/
attempt to write a readonly database

権限変更

親ディレクトリとdb.sqlite3の権限を変更する

$ ls -l ../
drwxrwxr-x 3 ooo ooo 4096 Feb  1 07:46 xxx
$ chmod 777 ../xxx/
$ ls -l
drwxrwxr-x 3 ooo ooo  4096 Feb  1 07:55 xxx
-rw-rw-r-- 1 ooo ooo 36864 Feb  1 07:46 db.sqlite3
-rwxrwxr-x 1 ooo ooo   808 Feb  1 07:12 manage.py
$ chmod 646 db.sqlite3

修正完了

スクリーンショット 2017-02-01 17.03.30

Basic認証のかけかた

認証ユーザの作成、追加

htpasswd -c -b /etc/httpd/conf/.htpasswd user1 password

Basic認証を有効にする

httpd.confを編集

<Directory "/var/www/html/">
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Basic Auth"
AuthType Basic
Require valid-user
</Directory>

再起動

apachectl restart

管理画面の文字列をいじる方法

管理画面ページ

Metaを設定する必要がある

class User(models.Model):
    fname = models.CharField(max_length=50, verbose_name = 'first name')
    class Meta:
         verbose_name = "users"

各ページのタイトル

init.pyで指定の設定ファイルを読み込むようにする

# in yourapp/apps.py
from django.apps import AppConfig

class YourAppConfig(AppConfig):
    name = 'yourapp'
    verbose_name = 'Fancy Title'
# in yourapp/__init__.py
default_app_config = 'yourapp.apps.YourAppConfig'

フォームのタイトル

こっちはverbose_nameではなくlabel

class SendOrderForm(forms.Form):
   send_option = forms.ModelChoiceField(queryset=Send.objects.all(), label="Send Options")

sqlite

コンソールから接続するのはこれ

sqlite3 test.db
sqlite3 -header -column horses.db "select * from ooo"

-Engineering