使用Django快速搭建简单的数据管理后台
使用Django快速搭建简单的数据管理后台
概述
需求描述:
数据表已建好,能可视化操作增删改查,避免直接操作数据库
简版的管理系统
环境
- Windows 10 x64
- Python 3.6.3 (Anaconda)
- Django 2.0.1
- MySQL 5.6.11-log
安装Django
pip install django
安装python-mysql
pip install mysqlclient
创建项目
django-admin startproject myproject
创建应用模块
cd myproject
python manage.py startapp myapp
配置数据库连接信息
#settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'testdb',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': '3306',
}
}
创建超级用户
python manage.py createsuperuser
启动应用
python manage.py runserver #默认8000
#python manage.py runserver 9999
装载应用模块
#settings.py
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',#添加到末尾
]
数据库反向生成Model
python manage.py inspectdb > myapp/models.py
注册Model
# myapp/admin.py
from django.contrib import admin
from myapp.models import Post
# Register your models here.
admin.site.register(Post)
解决Django在处理MySQL中BIT类型当做TextField处理问题
安装django_mysql模块
pip install django_mysql
# myapp/models.py
#引入django_mysql模块
from django_mysql.models import Bit1BooleanField
# myapp/models.py
将
models.TextField(blank=True, null=True) # This field type is a guess.
或
models.TextField() # This field type is a guess.
批量替换为 Bit1BooleanField(default=False)
关闭调试模式
# settings.py
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
# Must set settings.ALLOWED_HOSTS if DEBUG is False
ALLOWED_HOSTS = ['localhost','127.0.0.1','example.com']
静态资源访问处理
静态资源目录配置
# settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static') #新增配置
静态资源访问地址配置
# urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
收集应用所有静态文件至项目static目录下
python manage.py collectstatic
国际化处理
# settings.py
# 语言
#LANGUAGE_CODE = 'zh-cn'
LANGUAGE_CODE = 'zh-Hans'
# 时区
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = True
页面表单标签中文显示
#models.py
class Post(models.Model):
title = models.CharField('标题', max_length=100)
memo = models.TextField('备注')
publish_date = models.DateTimeField('发表时间')
class Meta:
verbose_name = '文章'
verbose_name_plural = '文章'
ordering = ['publish_date']
def __unicode__(self):
return self.title
其他命令
#同步数据库(可将model改动同步到数据库)
python manage.py makemigrations
python manage.py migrate
#清空数据库
python manage.py flush
# 修改 用户密码可以用:
python manage.py changepassword username
#导出数据 导入数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
#Django 项目环境终端
python manage.py shell
#数据库命令行
python manage.py dbshell
参考资料
- https://docs.djangoproject.com/en/2.0/
- http://django-mysql.readthedocs.io/en/latest/model_fields/#bit-1-boolean-fields
使用Django快速搭建简单的数据管理后台的更多相关文章
- 使用python django快速搭建微信公众号后台
前言 使用python语言,django web框架,以及wechatpy,快速完成微信公众号后台服务的简易搭建,做记录于此. wechatpy是一个python的微信公众平台sdk,封装了被动消息和 ...
- Django:快速搭建简单的Blog
一,创建项目 1, 为blog创建名为mysite的工程项目: django-admin.py startproject mysite 2, 项目结构如下: mysite ├── manage.py ...
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
- Django快速搭建博客系统
Django快速搭建博客系统 一.开发环境 Windows 7(64bit) python 3.6 https://www.python.org/ Django 2.0 https://www. ...
- bootstrap快速搭建属于自己的后台模板库
不论做什么项目,我们都以快速搭建为主,设计师固然重要,但是,我们前端开发的也必须能给出自己以前做过什么样的模板,自己收藏的模板,或者我们弹框的形式,我的提示框的形式,我用的下拉框的插件,日历的插件,我 ...
- django 快速搭建blog
如果本文看不懂的,去看的我视频吧!http://www.testpub.cn/ ------------------------------------------- Django 自称是“最适合开发 ...
- 使用Node.js快速搭建简单的静态文件服务器
做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...
- 用pytorch1.0快速搭建简单的神经网络
用pytorch1.0搭建简单的神经网络 import torch import torch.nn.functional as F # 包含激励函数 # 建立神经网络 # 先定义所有的层属性(__in ...
- django快速搭建blog
python版本:3.5.4: Django版本:2.0 创建项目 创建mysite项目和 blog应用: django-admin startproject mysite # 创建mysite项目 ...
随机推荐
- vue-devtools安装
https://www.cnblogs.com/yuqing6/p/7440549.html
- [oldboy-django][2深入django]ORM操作
推荐学习博客:http://www.cnblogs.com/wupeiqi/articles/6216618.html 需求: 汇总django orm操作,代替原生mysql语句来操作数据库:里面内 ...
- ALPHA(五)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- 一、vue的数据双向绑定的实现
响应式系统 一.概述 Vue通过设定对象属性的 setter/getter 方法来监听数据的变化,通过getter进行依赖收集,而每个setter方法就是一个观察者,在数据变更的时候通知订阅者更新视图 ...
- JDBC 学习笔记(九)—— ResultSetMetaData
ResultSet 提供了一个 getMetaData() 方法,用来获取 ResultSet 对应的 ResultSetMetaData 对象: ResultSetMetaData getMetaD ...
- POJ 3255:Roadblocks(次短路)
题目大意:求无向图的次短路. 分析: 在起点终点各求一次最短路,枚举边,通过该边的最短路为其权值加上到起点和终点最短路之和,找到最短但又比最短路长的路径. 代码: program block; typ ...
- BZOJ3260 跳 【组合数】
题目 邪教喜欢在各种各样空间内跳.现在,邪教来到了一个二维平面. 在这个平面内,如果邪教当前跳到了(x,y),那么他下一步可以选择跳到以下4个点: (x-1,y),(x+1,y),(x,y-1),(x ...
- Java简明教程 11.异常
异常的感性认识 在没有异常机制的语言中,经常通过返回值来表示调用该函数产生的各种问题(异常),比如c语言. divide.c #include <stdio.h> int main() { ...
- 1 - Django安装
一.Python安装 在Mac系统下,系统自带python开发环境,打开终端,输入python,我们就可以看到当前python版本号,例如我的系统是OS X EI Caption 10.11.1,自带 ...
- python 小练习1
_input = ['I',6,6,'love','python',6] _str = '' _sum = 0 for item in _input: if isinstance(item,str): ...