Django后台设置--遇到的问题与解决方案
1. 后台如何管理项目中的models
新建的Django工程会自动引用admin 应用,新建后台可以通过 createsuperuser 命令建立后台admin超级管理员,我遇到的第一个问题,就是如何像后台中管理用户和角色一样,增删查改我自己的model,这个网上极为常见,就是在admin.py文件中注册自己的models就可以
from django.contrib import admin
from util.models import UserModel admin.site.register(UserModel)
# 我们建立的model,用户相关的id,最好不要使用简单数字
class UserModel(models.Model):
uid = models.UUIDField(primary_key=True, default=uuid.uuid4)
email = models.EmailField(unique=True)
username = models.CharField(max_length=20)
salt = models.CharField(max_length=128)
password = models.CharField(max_length=128)
date_joined = models.DateTimeField(auto_now_add=True)
2. models在后台显示我们想要的名字
注册models之后我们会发现登录后台后,管理我们model的那一项显示的是model名称。但是吧UserModel我自己知道是啥,别人不知道怎么办,我需要给他中文名称,这个时候需要在models.py文件下修改model对应的类,添加class Meta
class UserModel(models.Model):
uid = models.UUIDField(primary_key=True, default=uuid.uuid4)
email = models.EmailField(unique=True)
username = models.CharField(max_length=20)
salt = models.CharField(max_length=128)
password = models.CharField(max_length=128)
date_joined = models.DateTimeField(auto_now_add=True) class Meta:
verbose_name = "用户管理"
verbose_name_plural = "用户管理"
这时候再去看,是不是变化了
3. models里面的对象,名字显示的不太好,我不想让他显示id
这个时候添加__unicode__方法
class UserModel(models.Model):
uid = models.UUIDField(primary_key=True, default=uuid.uuid4)
email = models.EmailField(unique=True)
username = models.CharField(max_length=20)
salt = models.CharField(max_length=128)
password = models.CharField(max_length=128)
date_joined = models.DateTimeField(auto_now_add=True) def __unicode__(self):
return self.username class Meta:
verbose_name = "用户管理"
verbose_name_plural = "用户管理"
4. 后台显示英文,我想要中文
需要在settings里面设置LANGUAGE_CODE为zh-CN
LANGUAGE_CODE = 'zh_CN'
USE_I18N = True
USE_L10N = True
而且,要在中间件设置中,使local高于common
5. 后台添加的model对象,涉及到时间的字段,为啥我设置了auto_now=True,但是看起来不是很对呢
需要设置时区,在settings文件中修改
TIME_ZONE = 'Asia/Shanghai' # TIME_ZONE = 'UTC'
这回和北京时间没差了
6. 后台显示的标题叫Django后台管理,我需要改成自己的怎么办?
先说明,这个方法不好,因为除非你将admin整个集成到项目里,要不然换个环境就得改一次,但是我没找到好方法。。。
Python27.11\Lib\site-packages\django\contrib\admin\templates\admin目录下查看admin应用的模板,发现有django后台管理字样的,并且被多次继承的模板就是
base_site.html,就改他
{% extends "admin/base.html" %} {% block title %}{{ title }} | 名字{% endblock %} {% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">名字</a></h1>
{% endblock %} {% block nav-global %}{% endblock %}
这样就变了,在提醒一次!!慎用,有好方法求各位前辈留言告知。
7. 最后
Django管理员最好建立安全的新角色,比如有外键关联,为了保险起见,新建管理员账户,分配安全的角色,没有过分的删除权限
这些算是我自己遇到的坑,欢迎交流指导
Django后台设置--遇到的问题与解决方案的更多相关文章
- python运维开发(十九)----Django后台表单验证、session、cookie、model操作
内容目录: Django后台表单验证 CSRF加密传输 session.cookie model数据库操作 Django后台Form表单验证 Django中Form一般有2种功能: 1.用于做用户提交 ...
- django admin 设置(转载https://www.cnblogs.com/wumingxiaoyao/p/6928297.html)
Django admin 一些有用的设置 Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸 ...
- django后台管理系统(admin)的简单使用
目录 django后台管理系统的使用 检查配置文件 检查根urls.py文件 启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车 注册后台管理系统超级管理 ...
- django后台管理-admin
0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 admin.site.register( ...
- Django后台缓存运用,提高并发
图片防盗链 -通过请求头refer控制 -nginx处理 提高网站并发的通用方法 QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准.衡量一个服务器能抗多大并发的重要 ...
- Django后台管理系统的使用
目录 django后台管理系统的使用 检查配置文件 检查根urls.py文件 启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车 注册后台管理系统超级管理 ...
- Django——后台管理
1.要使用Django-admin后台的前提 INSTALLED_APPS = [ 'simpleui', 'django.contrib.admin', #必须有这一项 'django.contri ...
- Django后台管理的使用
Django后台管理的使用 参考文章:https://www.runoob.com/django/django-admin-manage-tool.html 1.编写好models 直接在admin. ...
- WPF后台设置xaml控件的样式System.Windows.Style
WPF后台设置xaml控件的样式System.Windows.Style 摘-自 :感谢 作者: IT小兵 http://3w.suchso.com/projecteac-tual/wpf-zhi ...
随机推荐
- js与android webview交互
0x01 js调用java代码 android webview中支持通过添加js接口 webview.addJavascriptInterface(new JsInteration(), " ...
- Java 去除 ArrayList 集合中的重复元素
// One practice package Collection; import java.util.ArrayList; import java.util.Iterator; // 去除 Arr ...
- 关于 <textarea ></textarea >标签在苹果微信浏览器出现 内阴影
解决方法:(去除浏览器默认的样式元素) textarea { box-shadow:0px 0px 0px rgba(0,0,0,0); -webkit-appearance:none; }
- Angular.js之服务与自定义服务学习笔记
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 最近发现的.net core中的一些bugs
1.使用.net core的过程中发现TypeInfo.GetCustomAttributes()只能写在主线程中,否则如果该自定义特性存在于nuget中就会报错,貌似nuget中的dll仅在主线程使 ...
- angular 2 animate 笔记
好久没有在这里写点笔记了.时隔已久,angular1 去 angular2 咯 笔记来源:https://angular.cn/docs/ts/latest/guide/animations.html ...
- “幸福企业”定义-参观“MES项目”有感
作为公司的员工,总是想在一个自己满意的企业里面发展.作为企业主,虽不能天天将“回报社会”挂在嘴上,但凡是有抱负的,还是希望自己的部下“以厂为家的”.然而劳资双方的矛盾总是让双方感觉互有亏欠.这种不信任 ...
- smarty fetch方法
fetch 取得输出的内容 返回一个模板输出的内容(HTML代码),而不是直接显示出来,需要指定一个合法的模 板资源的类型和路径.你还可以通过 第二个可选参数指定一个缓存号,相关的信息可以查看缓存 ...
- 【Unity编程】Unity中的欧拉旋转
欧拉角的定义 在写这篇博客之前,我搜索了网上很多关于欧拉角的定义,发现大部分引用自维基百科的定义,我这里也引述一下: 维基百科定义 莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向.对于任何参 ...
- 用C++11实现C++17的apply(动态数组用作函数参数)
标题有点错误,apply是用tuple做参数,调用一个函数.这个标题是为了能更好的适配搜索关键字. 动态数组用作函数参数更适合嵌入了脚本环境的C++程序,比如lua或javascript(js). 若 ...