創(chuàng)建app:
這里,我創(chuàng)建一個資產系統(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命令建立了應用程序所需的基礎設施,其中最重要的是models.py,admin.py,views.py。
models.py:定義在應用程序中管理的數據。
views.py:定義在項目使用過程中需要執(zhí)行的視圖(操作)。
admin.py:用于向后臺管理網站注冊創(chuàng)建的模型(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里,我們可以定義這張表的表名,字段,及字段存儲的數據類型,這里可以簡單的理解為定義了一段創(chuàng)建表的語句。
本例中,我們在aseets程序中創(chuàng)建一個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來創(chuàng)建我們在model.py中定義的表,使我們可以通過Django來存儲和操作該模型:
# python manage.py makemigration assets Migrations for 'assets': 0001_initial.py: - Create model Server_Info
可以看到創(chuàng)建了模型Server_Info,進入mysql數據庫看看是否創(chuàng)建了相關的表:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | iceny | ------創(chuà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)建了項目所需的數據庫,相關表,以及我們定義的模型相關的表。
Django后臺管理網站:
創(chuàng)建了模型之后,我們需要對模型進行操作,讓它存儲一些相關的數據到數據庫中,Django提供了一個后臺管理頁面,可以讓我們簡單地操作Django模型。
要使用后臺管理,首先需要創(chuàng)建一個超級用戶:
# 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/,進行模型的數據操作。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現已開啟,新人活動云服務器買多久送多久。
本文題目:Django學習2--創(chuàng)建應用程序、models模型管理、系統(tǒng)管理后臺-創(chuàng)新互聯(lián)
本文URL:http://www.chinadenli.net/article6/dhcdog.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制網站、外貿網站建設、網站營銷、小程序開發(fā)、用戶體驗
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容