中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django學習2--創建應用程序、models模型管理、系統管理后臺

發布時間:2020-07-26 23:29:25 來源:網絡 閱讀:1870 作者:icenycmh 欄目:開發技術

創建app:

    這里,我創建一個資產系統的app,名為assets:

# cd iceny
# python manage.py startapp assets
# cd assets
# ls 
#admin.py  apps.py  __init__.py  migrations  models.py  tests.py  views.py

    startapp命令建立了應用程序所需的基礎設施,其中最重要的是models.py,admin.py,views.py。

    models.py:定義在應用程序中管理的數據。

    views.py:定義在項目使用過程中需要執行的視圖(操作)。

    admin.py:用于向后臺管理網站注冊創建的模型(models)。


修改數據庫配置:

    Django默認使用SQLite數據庫為默認的數據庫,如果我們想使用我們自己的mysql數據,則需要修改setting中的數據庫配置項,如下:

# vi iceny/iceny/settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'iceny',
        'USER': 'root',
        'PASSWORD': 'xxxxxx',
        'HOST':'xx.xx.xx.xx',
        'PORT':'3306',
    }
}

    定義好數據庫后,就可以初始化數據庫。

# python manage.py migrate


Django模型:

    models.py可以定義一個Django的模型,模型其實就是等于數據庫的一張表,在models里,我們可以定義這張表的表名,字段,及字段存儲的數據類型,這里可以簡單的理解為定義了一段創建表的語句。

    本例中,我們在aseets程序中創建一個Server_Info模型:

# vi assets/models.py
from django.db import models

class Server_Info(models.Model):
    env = models.CharField(max_length=20,null=False)
    hostname = models.CharField(max_length=20,null=True)
    ip_in = models.CharField(max_length=20,null=True)
    ip_out = models.CharField(max_length=20,null=True)
    os = models.CharField(max_length=100,null=True)
    mem = models.CharField(max_length=50,null=True)
    disk = models.CharField(max_length=100,null=True)
    cpu = models.CharField(max_length=100,null=True)
    cpu_thread = models.IntegerField(null=True)
    other_info = models.CharField(max_length=200,null=True)

     在這里,我們定義了一個Server_Info表來存儲服務器的信息,并定義了該表的一些字段,如主機名、ip、內存之類。

     編寫好Model.py文件后,需要激活模型,要使用模型,就要讓Django將應用程序包含到項目中。如下:

# vi iceny/iceny/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'assets',         ##把新建的程序添加到這里
    ]

    接下來,可以通過Django來創建我們在model.py中定義的表,使我們可以通過Django來存儲和操作該模型:

# python manage.py makemigration assets
Migrations for 'assets':
  0001_initial.py:
     - Create model Server_Info

    可以看到創建了模型Server_Info,進入mysql數據庫看看是否創建了相關的表:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| iceny              |           ------創建的項目庫
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.01 sec)

mysql> use iceny
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------------------+
| Tables_in_iceny            |
+----------------------------+
| assets_server_info         |        ---assets.server_info模型
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+
12 rows in set (0.00 sec)

mysql> desc assets_server_info;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| env        | varchar(20)  | NO   |     | NULL    |                |
| hostname   | varchar(20)  | YES  |     | NULL    |                |
| ip_in      | varchar(20)  | YES  |     | NULL    |                |
| ip_out     | varchar(20)  | YES  |     | NULL    |                |
| os         | varchar(100) | YES  |     | NULL    |                |
| mem        | varchar(50)  | YES  |     | NULL    |                |
| disk       | varchar(100) | YES  |     | NULL    |                |
| cpu        | varchar(100) | YES  |     | NULL    |                |
| cpu_thread | int(11)      | YES  |     | NULL    |                |
| other_info | varchar(200) | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
11 rows in set (0.13 sec)

    Django已創建了項目所需的數據庫,相關表,以及我們定義的模型相關的表。


Django后臺管理網站:

    創建了模型之后,我們需要對模型進行操作,讓它存儲一些相關的數據到數據庫中,Django提供了一個后臺管理頁面,可以讓我們簡單地操作Django模型。

    要使用后臺管理,首先需要創建一個超級用戶:

# python3.6 manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: 
Password: 
Password (again): 
Superuser created successfully.

    向管理網站注冊模型:(注:Django默認已經在管理網站中添加了一些模型,比如User和Group)

# vi iceny/assets/admin.py
from django.contrib import admin
from assets.models import Server_Info        ---導入自定義模型

# Register your models here.

admin.site.register(Server_Info)            --注冊模型

    完成以上步驟后,開啟Django,訪問站點:http://xx.xx.xx.xx:8081/admin/,進行模型的數據操作。

   Django學習2--創建應用程序、models模型管理、系統管理后臺

   Django學習2--創建應用程序、models模型管理、系統管理后臺

    Django學習2--創建應用程序、models模型管理、系統管理后臺

    Django學習2--創建應用程序、models模型管理、系統管理后臺

    Django學習2--創建應用程序、models模型管理、系統管理后臺

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光山县| 林甸县| 镇巴县| 上饶市| 繁峙县| 靖宇县| 日照市| 凤山县| 潮安县| 湘潭市| 怀宁县| 甘泉县| 灌阳县| 日照市| 德安县| 柘荣县| 金昌市| 灌南县| 汉川市| 景宁| 贞丰县| 兴化市| 磐石市| 连南| 文水县| 克山县| 惠安县| 咸宁市| 韶关市| 勐海县| 米脂县| 伊吾县| 和龙市| 集安市| 马关县| 南漳县| 丰镇市| 定兴县| 临高县| 沽源县| 康平县|