Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺(tái)-創(chuàng)新互聯(lián)

創(chuàng)建app:

在土默特右旗等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè)公司,土默特右旗網(wǎng)站建設(shè)費(fèi)用合理。

   這里,我創(chuàng)建一個(gè)資產(chǎn)系統(tǒng)的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命令建立了應(yīng)用程序所需的基礎(chǔ)設(shè)施,其中最重要的是models.py,admin.py,views.py。

  models.py:定義在應(yīng)用程序中管理的數(shù)據(jù)。

  views.py:定義在項(xiàng)目使用過(guò)程中需要執(zhí)行的視圖(操作)。

  admin.py:用于向后臺(tái)管理網(wǎng)站注冊(cè)創(chuàng)建的模型(models)。

修改數(shù)據(jù)庫(kù)配置:

    Django默認(rèn)使用SQLite數(shù)據(jù)庫(kù)為默認(rèn)的數(shù)據(jù)庫(kù),如果我們想使用我們自己的mysql數(shù)據(jù),則需要修改setting中的數(shù)據(jù)庫(kù)配置項(xiàng),如下:

# 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',
    }
}

  定義好數(shù)據(jù)庫(kù)后,就可以初始化數(shù)據(jù)庫(kù)。

# python manage.py migrate

Django模型:

    models.py可以定義一個(gè)Django的模型,模型其實(shí)就是等于數(shù)據(jù)庫(kù)的一張表,在models里,我們可以定義這張表的表名,字段,及字段存儲(chǔ)的數(shù)據(jù)類型,這里可以簡(jiǎn)單的理解為定義了一段創(chuàng)建表的語(yǔ)句。

    本例中,我們?cè)赼seets程序中創(chuàng)建一個(gè)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)

     在這里,我們定義了一個(gè)Server_Info表來(lái)存儲(chǔ)服務(wù)器的信息,并定義了該表的一些字段,如主機(jī)名、ip、內(nèi)存之類。

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

# 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',         ##把新建的程序添加到這里
    ]

  接下來(lái),可以通過(guò)Django來(lái)創(chuàng)建我們?cè)趍odel.py中定義的表,使我們可以通過(guò)Django來(lái)存儲(chǔ)和操作該模型:

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

   可以看到創(chuàng)建了模型Server_Info,進(jìn)入mysql數(shù)據(jù)庫(kù)看看是否創(chuàng)建了相關(guān)的表:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| iceny              |           ------創(chuàng)建的項(xiàng)目庫(kù)
| 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已創(chuàng)建了項(xiàng)目所需的數(shù)據(jù)庫(kù),相關(guān)表,以及我們定義的模型相關(guān)的表。

Django后臺(tái)管理網(wǎng)站:

  創(chuàng)建了模型之后,我們需要對(duì)模型進(jìn)行操作,讓它存儲(chǔ)一些相關(guān)的數(shù)據(jù)到數(shù)據(jù)庫(kù)中,Django提供了一個(gè)后臺(tái)管理頁(yè)面,可以讓我們簡(jiǎn)單地操作Django模型。

  要使用后臺(tái)管理,首先需要?jiǎng)?chuàng)建一個(gè)超級(jí)用戶:

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

  向管理網(wǎng)站注冊(cè)模型:(注:Django默認(rèn)已經(jīng)在管理網(wǎng)站中添加了一些模型,比如User和Group)

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

# Register your models here.

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

  完成以上步驟后,開(kāi)啟Django,訪問(wèn)站點(diǎn):http://xx.xx.xx.xx:8081/admin/,進(jìn)行模型的數(shù)據(jù)操作。

 Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺(tái)

 Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺(tái)

  Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺(tái)

  Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺(tái)

  Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺(tái)

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。

本文題目:Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺(tái)-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article6/dhcdog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、小程序開(kāi)發(fā)、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)