python django 站点管理 配置mysql数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python django 站点管理 配置mysql数据库相关的知识,希望对你有一定的参考价值。

运行命令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数据库的主要内容,如果未能解决你的问题,请参考以下文章

Python Django管理后台美化

在windows中配置pip安装源, 使用终端管理python虚拟环境, 自定义django的日志配置, 使用logging模块记录异常信息, 数据库用户及权限管理

Django数据库配置

如何基于Python搭建Django后台管理系统

Python3+Django3开发简单的人员管理系统

Python解决Django Admin管理界面样式表(CSS Style)丢失问题