まず、環境を設定
1、ジャンゴインストールされたバージョンを指定します
ピップジャンゴ==インストール1.8。2
プロジェクトを作成します。2.
django- ADMIN startprojectのcommpany
#下の1以上commpanyディレクトリ $ツリーcommpany / commpany / ├──commpany │├──を__init__.py │├──のsettings.py │├──のurls.py │└──wsgi.py └──manage.py
この時点で、commpanyプロジェクトを作成しました。再度プロジェクトアプリケーションとしてモジュールの部門を作成します。
アプリケーションの作成3.
commpany CD /
python2 manage.py startappの部署#プロジェクトのアーキテクチャ
$ツリー
。
├──commpany#名と同じ名前とプロジェクトの
│├──__init__.py#空のファイル
│├──settings.py#グローバルコンフィギュレーション・ファイル
│├──のURL .py#グローバルルーティング設定
│└──wsgi.py#
├──部門#アプリケーションモジュール
│├──を__init__.py
│├──のadmin.py#管理
│├──apps.py
│├──移行#モデルモジュールは、マイグレーション実行する
││└──を__init__.py
│├──models.pyの#モデル処理モジュール
│├──tests.py
│└──のviews.py#ビューモジュール
└──manage.pyを
第二に、モデル設計
1、モデルは、データベースの構成を変更、データベース、最初のconfigure settings.pyと対話する必要があります。
DATABASES = { ' デフォルト' { ' ENGINE ':' django.db.backends.mysql ' 、 ' ホスト':' 127.0.0.1 ' 、 ' PORT ':' 3306 ' 、 ' USER ':' ルート' 、 ' PASSWORD ':' ルート' 'NAME ':'会社" 、 } }
2、department.moduls.py文書の設計モデル
ここにあなたのモデルの壁紙#を作成します。 #クラス部門、部署の対応表、クラスの継承モデルの定義 クラス部門(models.Model): #部署名、char型、長さ20れ d_name = models.CharField(= MAX_LENGTH 20はある) 部門の# 、INTタイプ、長さ10 d_num = models.IntegerField( ) DEF __str __(自己): 戻りself.d_name.encode(' UTF-8 ' ) #テーブルアート定義 クラスstaffInfo(models.Model)を: S_NAME = models.CharField (MAX_LENGTH = 20である) s_gender = models.BooleanField() s_detailInfo = models.TextField() s_department= models.ForeignKey(県) デフ__str __(自己): 戻りself.s_name.encode(' UTF-8 ')
図3に示すように、構成ファイルに登録申請情報テーブルの設定を生成する前に。
INSTALLED_APPS = [ ' django.contrib.admin ' 、 ' django.contrib.auth ' 、 ' django.contrib.contenttypes ' 、 ' django.contrib.sessions ' 、 ' django.contrib.messages ' 、 ' django.contrib.staticfiles ' 、 ' 部門' 、#添加应用名称 ]
4、MySQLの構成の存在を確認するためにsettings.pyを実行する前に、データベースの名前、データテーブルを生成します。
#移行は、ファイルを生成する
Pythonのmanage.pyのmakemigrationsの
#は、移行を実行
python2 manage.py移行
注:MySQLのpymysqlモジュールを使用する必要性、ピップpymysqlの両方をインストールします。MySQLは、モジュール__init__.pyプロジェクトをインポートします。
輸入pymysql
pymysql.install_as_MySQLdb()
タイムズ紙は、警告は、移行の結果には影響しません実行します。
department.department.d_num:(fields.W122)「MAX_LENGTHが」IntegerFieldとのと一緒に使用する場合は無視されます ヒント:削除「MAX_LENGTH 」フィールドから
長さの制約は両方でd_num = models.IntegerField(MAX_LENGTH = 10)を除去します。
5、MySQLを確認してください。
MySQLの> ユース会社。 読み込みテーブルの情報をため完了テーブル と列の名前 あなたが迅速に起動取得するには、この機能をオフにすることができます - データベースの変更 mysqlの > ショーテーブルを。 + ---------------------------- + | Tables_in_company | + ---------------------------- + | auth_group | | auth_group_permissions | | auth_permission | | AUTH_USER | | auth_user_groups | | auth_user_user_permissions | | department_department | | department_staffinfo | | django_admin_log | | たdjango_content_type | | django_migrations | | django_session | + ---------------------------- + 12セットの行(0.00秒)
これは、実際のテーブル名で見つけることができるとmodulsは異なっています。
6、プロジェクトを実行します。
$ python2 manage.pyのrunserver [可以指定端口号] の実行システムチェック... 識別システムチェック問題なく(0 沈黙)。 年3月16、2020年までに - 05:29:27 Djangoのバージョン1.11。27、設定使用して' commpany.settingsを' HTTPで開発サーバの起動:// 127.0.0.1:8000/ CONTROL-Cでサーバーを終了します。
7、ブラウザアクセス127.0.0.1:8000
第三に、バックグラウンドの管理
テーブルでは、我々はデータを追加し、入力した、あなたは、バックオフィスシステムを通じてテーブル上で操作をCRUDすることができ、何のフロントページはありません。
1.まず、アカウントのバックグラウンド管理を追加します。
Python2 manage.py createsuperuser $ #プロンプトが表示され、情報を入力します。 ユーザー名(に残す空白の使用 「スティーブン」):ADMIN メールアドレスで:ADMIN @ 163 .COM パスワード: パスワード(再度): スーパーユーザーが正常に作成されました。
2、プロジェクト、ブラウザアクセス管理を実行http://127.0.0.1:8000/adminを。
3、ページが終了します
settings.pyを変更します。
setting.py LANGUAGE_CODE = ' ZH-ハンス' TIME_ZONE = ' アジア/上海'
この時点で、管理者の管理の背景にモデルクラスを追加しないでください
4、booktest / admin.py登録されたモデル。
モデルからのインポート*
admin.site.register(県)
admin.site.register(staffInfo)
ブラウザをリフレッシュし、部門管理を表示されます。
いくつかの追加および削除は、データベースへのフロントエンドにあってもよいです。
第四に、カスタム管理インタフェース。
1、スタッフ情報、あなたはadmin.py内にクラスを追加し、より多くのコンテンツを表示したいです。
クラスStaffInfoAdmin(admin.ModelAdmin): list_display = [ " s_name "、" s_detailInfo " ] admin.site.register(部門) admin.site.register(staffInfo、StaffInfoAdmin)