1、Djangoのエントリー

まず、環境を設定

1、ジャンゴインストールされたバージョンを指定します

ピップジャンゴ==インストール1.82

プロジェクトを作成します。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月162020年までに - 052927 
Djangoのバージョン1.1127、設定使用して' 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)

 

おすすめ

転載: www.cnblogs.com/sunshine-long/p/12503385.html