python django 站點管理 配置mysql數據庫
阿新 • • 發佈:2017-08-07
各種功能 mysql manage 編輯 ont code min sqlit migration
運行命令mysql -uroot -p進入mysql
新建一個數據庫mydatabase
在/mysite/mysite目錄下 編輯settings.py文件:
默認數據庫為sqlite:
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.sqlite3‘, ‘NAME‘: ‘mydatabase‘, } }
mysql數據庫配置:
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘NAME‘: ‘mydatabase‘, ‘USER‘: ‘root‘, ‘PASSWORD‘: ‘123‘, ‘HOST‘: ‘127.0.0.1‘, ‘PORT‘: ‘3306‘, } }
啟動django:python manage.py runserver
在新的shell運行:python manage.py runserver
from django.db import connection
cursor = connection.cursor()
沒有報錯 表示配置完成
建立新的一個app 運行命令:
python manage.py startapp myapp
進去myapp目錄 編輯 models.py文件
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=30)#default=‘CN‘ country = models.CharField(max_length=50) website = models.URLField() def __unicode__(self): return self.name class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField(blank=True) def __unicode__(self): return self.last_name class Book(models.Model): title = models.CharField(max_length=100) authors = models.ManyToManyField(Author) publisher = models.ForeignKey(Publisher) publication_date = models.DateField() def __unicode__(self): return self.title
在/mysite/mysite目錄下編輯settings.py文件 添加app
INSTALLED_APPS = [ ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘myapp‘,
依次運行下面兩條命令 創建表
python manage.py makemigrations
python manage.py migrate
創建站點用戶:
python manage.py createsuperuser
啟動django:pyhon manage.py runserver 0.0.0.0:9999
這樣就可以在瀏覽器上登錄站點 http://192.168.177.130:9999/admin
輸入剛才創建的用戶和密碼進入進行管理:
在/mysite/myapp目錄下編輯admin.py文件 就會在站點頁面中出現:
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.contrib import admin from myapp.models import Publisher,Author,Book # Register your models here. class Bookadmin(admin.ModelAdmin): search_fields = (‘title‘,)#查詢 filter_horizontal = (‘authors‘,)#橫向查詢選擇 #filter_vertical = (‘authors‘,)縱向 list_display = (‘title‘,‘publisher‘,‘publication_date‘)#顯示其他信息功能 list_filter = (‘title‘,‘publisher‘,‘publication_date‘)#右邊分類功能 ordering = (‘-publication_date‘,)#其他信息的排序功能 #fields =(‘title‘) 排序功能 admin.site.register(Publisher) admin.site.register(Author) admin.site.register(Book,Bookadmin)
可以在頁面上添加表數據
下圖是在Book中添加的各種功能
python django 站點管理 配置mysql數據庫