002-Django数据库及后台admin配置
连接mysql数据库
数据库准备
- 如果连接本机数据库,mysql安装及配置可参考https://www.cnblogs.com/feizisy/p/11882521.html
- 如果连接阿里云RDS,需要阿里云工作台-数据安全性-白名单内添加外网IP
白名单设置:
127.0.0.1 不允许任何IP访问
0.0.0.0/0 允许任何IP访问
创建数据库
本机:
create database your_database_name
阿里云:阿里云工作台-数据库管理-创建数据库
yourprojectname/settings.py 配置数据库
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases DATABASES = {
'default': dict(ENGINE='django.db.backends.mysql',
HOST='your_host',
#本机数据库,使用127.0.0.1
#阿里云数据库,使用阿里云工作台-数据库连接-外网地址
PORT='3306',
NAME="your_database_name",
USER='your_username',
PASSWORD='your_password')
}
yourprojectname/init.py 下更改pymysql驱动,原默认为mysqldb(python3不再支持)
import pymysql
pymysql.install_as_MySQLdb()
yourappname/models.py 创建数据库表
from django.db import models """
用户表
""" class User(models.Model):
username = models.CharField(verbose_name="用户名", max_length=20, unique=True, null=True)
status = models.CharField(verbose_name="用户状态", max_length=4, null=True,help_text="0:已删除;1:使用中",default=1)
iphone = models.CharField(verbose_name="手机号", max_length=11, unique=True, null=True)
email = models.EmailField(verbose_name="邮箱", max_length=20, unique=True)
signature = models.TextField(verbose_name="签名", max_length=500)
createtime = models.DateTimeField(verbose_name="创建时间", auto_now=True) def __str__(self):
return self.realname
数据库同步,终端执行,中间可能会遇到部分问题,参考https://www.cnblogs.com/feizisy/p/11847996.html
python manage.py makemigrations
python manage.py migrate #创建数据库表
迁移完成,可以在终端执行show tables,或者阿里云官网或navicat客户端查看django自带的一些表和你自己创建的User表
插入一条数据吧,在你的User表里,命令插入或者后面admin后台页面插入
#如果命令插入的时候遇到更新中文字符,编码问题,三层更改为utf8 alter database hf character set utf8;
alter table auth_user default character set utf8;
alter table auth_user change signature signature varchar(500) character set utf8;
models详细的数据操作
from yourappname.models import User
from datetime import datetime
# 创建一个用户
>>> User.objects.create(username = "仙女",status = "1", iphone = "18832288888", email = "feizisy@126.com", signature = "今天也要开心哟", createtime = datatime(2019,11,22,20,58))
# 查询User中所有的对象列表
>>> User.objects.all()
<QuerySet [User:仙女]>
# 查询User中符合条件的对象列表
>>> User.objects.filter(username = "仙女")
# 查询符合条件的对象
>>> User.objects.get(id=1)
<User:仙女>
>>> User.objects.get(username__startswith='仙')
<User:仙女>
>>> User.objects.get(username__contains='女')
<User:仙女>
>>> User.objects.get(id=2)
Traceback (most recent call last):
...
DoesNotExist: User matching query does not exist.
# 更新数据
>>> r = User.objects.get(id=1)
>>> r.username = "大仙女"
>>> r.save()
# 打印查看
>>> r.username
大仙女
# 删除该条数据
>>> r.delete()
pymysql的补充操作
import pymysql
# 连接数据库
conn = connect{
host = "127.0.0.1"
user = "root"
password = "the password of root"
db = "the name of the database"
charset = "the charset of the database"
cursorclass = cursors.DicCursor
}
try:
# 获取数据库操作游标
with conn.cursor() as cursor:
sql = "select * from User where username = '仙女'"
# 执行SQL语句
cursor.execute(sql)
# 提交数据库执行
cursor.commit()
result = cursor.fetchone()
print(result)
finally:
# 关闭连接
conn.close()
配置admin后台
创建管理员账号
python manage.py createsuperuser
运行项目
python manage.py runserver 127.0.0.1:8001
可以在yourprojectname/settings.py下更改默认语言
LANGUAGE_CODE = 'zh-hans'

配置admin菜单视图
yourappname/admin.py 下可定义admin相关菜单视图
from django.contrib import admin
from yourappname.models import * # Register your models here. class Useradmin(admin.ModelAdmin):
list_display = ['id', 'username', 'iphone', 'email', 'signature','status'] #列表
search_fields = ['username'] #搜索栏 admin.site.register(User, Useradmin) #注册模型
刷新admin后台登录页面,点击你的user表进入,你可以看到

002-Django数据库及后台admin配置的更多相关文章
- Django自带后台admin的使用配置
Django自带后台使用配置参考官网地址:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ ,本文章值是介绍简单配置,如果需要详细内容 ...
- Django自带后台管理配置
Django自带后台管理的配置 创建项目和应用 修改配置文件 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql' ...
- Django自带后台使用配置
参考官网地址:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ ,本文章值是介绍简单配置,如果需要详细内容可以查阅官方文档 自动管理界 ...
- 14.Django自带的admin配置
admin有自己的默认显示,要自定义显示的样式,一般需要自己定义一个类,在自己定义的类里进行相应的设置,然后,把自己的类交给装饰器 交给装饰器的方法有两种: 1.@admin.register(Pub ...
- 关于django访问默认后台admin的时候提示403错误,
Forbidden (403) CSRF verification failed. Request aborted. You are seeing this message because this ...
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- django+x-admin管理后台模板开发管理后台案例(设计部分)
使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubu ...
- django数据库读写分离
django数据库读写分离 1. 配置数据库 settings.py文件中 用SQLite: DATABASES = { 'default': { 'ENGINE': 'django.db.backe ...
- 万里长征第二步——django个人博客(第五步 ——配置后台admin)
在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.vie ...
随机推荐
- Jmeter之cookie的处理方式,token处理
cookie是什么 由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,这就说明服务器单从网络连接上是没有办法知道用户身份的.怎么办呢?那就给每次新的用户 ...
- multi gpu inference with tfserving or keras
在tfserving上,目测只能在每个gpu上起docker https://github.com/tensorflow/serving/issues/311#issuecomment-4801 ...
- VS2015加载错误的解决办法
在开始菜单中找到vs2015 的 vs2015 开发人员命令提示. 在命令提示符中输入 devenv /setup 然后回车,大概几分钟后可以执行完成 重启vs2015 发现问题解决.
- Python中的十大图像处理工具
转自:微信博客 机器学习研究会订阅号 微信号 功能介绍机器学习研究会由百度七剑客雷鸣先生创办,旨在推动AI的技术发展和产业落地.参与组织北大.清华”AI前沿与产业趋势“公开课,广泛的和高校.企业.创业 ...
- python 文件夹压缩
import os import zipfile def zipDir(dirpath,outFullName): """ 压缩指定文件夹 :param dirpath: ...
- Oracle数据库的下载安装和配置
前言·为了学习ORDBMS,下载一个Oracle数据库用来练习. 下载 我个人学习使用就没必要企业版 注册并登录Oracle官网 https://www.oracle.com 找到产品下载: 数据库: ...
- STM32CubeMX FreeRTOS定时器的使用
配置STM32CubeMX如下 生成的Keil代码的创建启动定时器如下 /* Create the timer(s) */ /* definition and creation of myTimer0 ...
- Devexpress 10
序言 Grid表格 资料 https://www.devexpresscn.com/
- android stadio gradle问题
https://www.jianshu.com/p/2bb0b6a7b479 https://www.jianshu.com/p/d175bef9770c Unable to resolve depe ...
- eclipse中使用maven搭建多模块项目
暂时参考:https://blog.csdn.net/u012343297/article/details/79883870