使用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

参考资料

使用Django快速搭建简单的数据管理后台的更多相关文章

  1. 使用python django快速搭建微信公众号后台

    前言 使用python语言,django web框架,以及wechatpy,快速完成微信公众号后台服务的简易搭建,做记录于此. wechatpy是一个python的微信公众平台sdk,封装了被动消息和 ...

  2. Django:快速搭建简单的Blog

    一,创建项目 1, 为blog创建名为mysite的工程项目: django-admin.py startproject mysite 2, 项目结构如下: mysite ├── manage.py ...

  3. 拿nodejs快速搭建简单Oauth认证和restful API server攻略

    拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...

  4. Django快速搭建博客系统

    Django快速搭建博客系统 一.开发环境 Windows 7(64bit) python 3.6   https://www.python.org/ Django 2.0  https://www. ...

  5. bootstrap快速搭建属于自己的后台模板库

    不论做什么项目,我们都以快速搭建为主,设计师固然重要,但是,我们前端开发的也必须能给出自己以前做过什么样的模板,自己收藏的模板,或者我们弹框的形式,我的提示框的形式,我用的下拉框的插件,日历的插件,我 ...

  6. django 快速搭建blog

    如果本文看不懂的,去看的我视频吧!http://www.testpub.cn/ ------------------------------------------- Django 自称是“最适合开发 ...

  7. 使用Node.js快速搭建简单的静态文件服务器

    做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...

  8. 用pytorch1.0快速搭建简单的神经网络

    用pytorch1.0搭建简单的神经网络 import torch import torch.nn.functional as F # 包含激励函数 # 建立神经网络 # 先定义所有的层属性(__in ...

  9. django快速搭建blog

    python版本:3.5.4: Django版本:2.0 创建项目 创建mysite项目和 blog应用: django-admin startproject mysite # 创建mysite项目 ...

随机推荐

  1. Ethernet,token ring,FDDI,ATM,WLAN

    局域网(Local Area Network:LAN) 通常我们常见的"LAN"就是指局域网,这是我们最常见.应用最广的一种网络.现在局域网随着整个计算机网络技术的发展和提高得到充 ...

  2. 34条简单的SQL优化准则

    转载地址:http://bbs.csdn.net/topics/260002113 我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享!(1)    ...

  3. Fragment控件初始化

    代码改变世界 Fragment控件初始化 @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup ...

  4. hihoCoder [Offer收割]编程练习赛83 D 生成树问题

    题目 从 Kruskal 算法的角度来思考这个问题. 考虑 $n$ 个点的"空图"(即没有边的图). 先将 $m_2$ 条无权值的边加到图中,得到一个森林. 按边权从小到大的顺序枚 ...

  5. python百度贴吧爬虫

    # -*- coding: utf-8 -*- #coding=utf-8 import urllib import urllib2 import re import thread import ti ...

  6. vue使用stylus

    在package.json中添加  stylus-loader "css-loader": "^0.28.0", "stylus-loader&quo ...

  7. nodeJS学习(7)--- WS开发 NodeJS 项目-节2 <安装&设置&启动 mongodb 数据库++遇到的问题>

    本文系统 win7 参考:http://lib.csdn.net/article/mongodb/58097  http://www.cnblogs.com/lzrabbit/p/3682510.ht ...

  8. CSS3 基本属性 浅析(含选择器、背景阴影、3D转换、动画等)

    1渐进增强原则 2私有前缀  不同浏览器在发布不同版本(一般测试版)时会加前缀,新增属性加上前缀进行支持测试:     Chrome浏览器:-webkit-border-radius: 5px;   ...

  9. Java-01背包问题-动态规划-递归和非递归实现

    国际惯例,先上代码,粗略分析: package com.bag; /** * Author: lihao * Date:2017/8/31 * Description: */ public class ...

  10. BZOJ 4491: 我也不知道题目名字是什么

    4491: 我也不知道题目名字是什么 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 278  Solved: 154[Submit][Status][ ...