1. 程式人生 > >python django 站點管理 配置mysql數據庫

python django 站點管理 配置mysql數據庫

各種功能 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數據庫