創(chuàng)建app:
在土默特右旗等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒ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è),營銷型網(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)目使用過程中需要執(zhí)行的視圖(操作)。
admin.py:用于向后臺管理網(wǎng)站注冊創(chuàng)建的模型(models)。
修改數(shù)據(jù)庫配置:
Django默認(rèn)使用SQLite數(shù)據(jù)庫為默認(rèn)的數(shù)據(jù)庫,如果我們想使用我們自己的mysql數(shù)據(jù),則需要修改setting中的數(shù)據(jù)庫配置項(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ù)庫后,就可以初始化數(shù)據(jù)庫。
# python manage.py migrate
Django模型:
models.py可以定義一個(gè)Django的模型,模型其實(shí)就是等于數(shù)據(jù)庫的一張表,在models里,我們可以定義這張表的表名,字段,及字段存儲的數(shù)據(jù)類型,這里可以簡單的理解為定義了一段創(chuàng)建表的語句。
本例中,我們在aseets程序中創(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表來存儲服務(wù)器的信息,并定義了該表的一些字段,如主機(jī)名、ip、內(nèi)存之類。
編寫好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', ##把新建的程序添加到這里 ]
接下來,可以通過Django來創(chuàng)建我們在model.py中定義的表,使我們可以通過Django來存儲和操作該模型:
# python manage.py makemigration assets Migrations for 'assets': 0001_initial.py: - Create model Server_Info
可以看到創(chuàng)建了模型Server_Info,進(jìn)入mysql數(shù)據(jù)庫看看是否創(chuàng)建了相關(guān)的表:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | iceny | ------創(chuàng)建的項(xiàng)目庫 | 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ù)庫,相關(guān)表,以及我們定義的模型相關(guān)的表。
Django后臺管理網(wǎng)站:
創(chuàng)建了模型之后,我們需要對模型進(jìn)行操作,讓它存儲一些相關(guān)的數(shù)據(jù)到數(shù)據(jù)庫中,Django提供了一個(gè)后臺管理頁面,可以讓我們簡單地操作Django模型。
要使用后臺管理,首先需要創(chuàng)建一個(gè)超級用戶:
# python3.6 manage.py createsuperuser Username (leave blank to use 'root'): admin Email address: Password: Password (again): Superuser created successfully.
向管理網(wǎng)站注冊模型:(注: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) --注冊模型
完成以上步驟后,開啟Django,訪問站點(diǎn):http://xx.xx.xx.xx:8081/admin/,進(jìn)行模型的數(shù)據(jù)操作。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
本文題目:Django學(xué)習(xí)2--創(chuàng)建應(yīng)用程序、models模型管理、系統(tǒng)管理后臺-創(chuàng)新互聯(lián)
本文URL:http://jinyejixie.com/article6/dhcdog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營銷、小程序開發(fā)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容