python相关软件安装流程图解————————python安装——————python-3.7.1-amd64

https://www.cnblogs.com/ujq3/p/10098166.html


python相关软件安装流程图解————————pycharm安装——————pycharm-professional-2018.3.1

https://www.cnblogs.com/ujq3/p/10098615.html


注意,先安装 DJANGO



 #models.py
#————————————————01堡垒机重写DJANGO账户表 开始————————————————
from django.db import models #模型
from django.contrib.auth.models import BaseUserManager,AbstractBaseUser,PermissionsMixin#DJANGO账户继承重写 #重写DJAGO账号表
class UserProfileManager(BaseUserManager):
def create_user(self, email, name, password=None):#创建并保存一个普通用户给定的邮箱地址,密码。
if not email:
raise ValueError('用户必须有一个电子邮箱地址')
user = self.model(email=self.normalize_email(email),#验证邮箱格式
name=name,)#创建一条普通用户记录
user.set_password(password)#对密码加密
user.save(using=self._db)#从临时文件读取出来数据,进行保存。
return user def create_superuser(self, email,name,password):#创建并保存一个超级用户给定的邮箱地址,密码。
user = self.create_user(email,name=name,password=password)#创建一条超级用户记录
user.is_admin = True#管理员
user.save(using=self._db)#从临时文件读取出来数据,进行保存。
return user #重写DJAGO账号表
class UserProfile(AbstractBaseUser,PermissionsMixin):
# ————#DJANGO账号必须要有的字段 开始————
email = models.EmailField( max_length=255,unique=True,verbose_name='邮箱地址')
name = models.CharField(max_length=32,verbose_name='昵称')
is_active = models.BooleanField(default=True,verbose_name='是否启用')
is_admin = models.BooleanField(default=False,verbose_name='管理员',help_text='指定用户是否可以登录管理网站并且拥有全部权限',)
is_staff = models.BooleanField(default=True,verbose_name='员工状态',help_text='指定用户是否可以登录管理网站',)
# ————#DJANGO账号必须要有的字段 结束————
#————#创建用户记录 开始————
objects = UserProfileManager()#创建用户记录,固定的变量名(objects)
USERNAME_FIELD = 'email' #用于登录的字段
REQUIRED_FIELDS = ['name']#必须填写
# ————#创建用户记录 结束————
# ————#DJANGO账号必须要有的方法 开始————
def get_full_name(self):#用户确认的电子邮件地址
return self.email
def get_short_name(self):#用户确认的电子邮件地址
return self.email
# ————#DJANGO账号必须要有的方法 结束————
def __str__(self):# __unicode__ on Python 2
return self.email
# ————#DJANGO账号权限 开始————
def has_perm(self, perm, obj=None):#权限#用户有一个特定的许可吗?
return True
def has_module_perms(self, app_label):#用户有权限查看应用名称吗?
return True
# ————#DJANGO账号权限 结束————
class Meta:
verbose_name_plural='00账户'
# ————自定制admin 开始————
#到admin.py里给DJANGO账户注册显示 #E:\堡垒机\eye\Fortress\admin.py
# ————自定制admin 结束————
# ————注册到配置文件 开始————
#到配置文件里给DJANGO账户指定模型 #E:\堡垒机\eye\eye\settings.py
#AUTH_USER_MODEL = 'web.UserProfile'
# ————注册到配置文件 结束————
#————————————————01堡垒机重写DJANGO账户表 结束———————————————— """
# ————————————————Django中使用中国时区和中文 开始————————————————
到settings.py里修改#E:\堡垒机\eye\eye\settings.py
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
如果需要全局配置默认时区和语言,可在django下的conf模块下的global_settings.py中进行配置
所有可选的语言选项可通过python输入以下代码查看:
from django.conf.locale import LANG_INFO
{key: LANG_INFO[key]['name_local'] for key in LANG_INFO if 'name_local' in LANG_INFO[key]}
# ————————时间扩展 开始————————
USE_TZ = True
当设置了 USE_TZ 为 True 时,Django 与其他系统或服务的交流将强制使用 UTC 时间。
1.保证存储到数据库中的是 UTC 时间;
2.在函数之间传递时间参数时,确保时间已经转换成 UTC 时间;
# ——Django中跨时区 开始——
一般不跨时区的应用,可以不使用时区,即在settings.py设置
USE_TZ = False
这样存储的时间就是无时区的时间。
# ——Django中跨时区 结束——
# ————————时间扩展 结束————————
# ————————————————Django中使用中国时区和中文 结束————————————————
# ————————————————Django数据库生成 开始————————————————
运行 Terminal
生成 数据表
E:\PY2\CrazyEye>python manage.py makemigrations
数据表 迁移
E:\PY2\CrazyEye>python manage.py migrate
# ————————————————Django数据库生成 结束————————————————
# ————————————————重写Django账号表后的创建方法 开始————————————————
E:\PY2\CrazyEye>python manage.py createsuperuser
邮箱地址: admin@qq.com
昵称: admin
Password: admin123456
Password (again): admin123456
Superuser created successfully.
# ————————————————重写Django账号表后的创建方法 结束————————————————
#启动 DJANGO 服务
E:\PY2\CrazyEye>python manage.py runserver 127.0.0.1:8000
"""

#models.py

 #admin.py
#————————————————01堡垒机重写DJANGO账户表 开始————————————————
#————————同目录下可以用 . 开始————————
#from Fortress import models#数据库 #重写DJAGO账号表
from . import models#数据库 #重写DJAGO账号表
#————————同目录下可以用 . 结束————————
from django import forms #django的字段验证
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin ##表单添加和更改用户实例
from django.contrib.auth.forms import ReadOnlyPasswordHashField#只读密码散列字段
from django.contrib import admin #注册类到admin
#创建新用户
class UserCreationForm(forms.ModelForm):
password1 = forms.CharField(label='设置密码', widget=forms.PasswordInput)#密码
password2 = forms.CharField(label='确认密码', widget=forms.PasswordInput)#确认密码
class Meta:
model = models.UserProfile
fields = ['email', 'name']
def clean_password2(self): #检查两个密码条目是否一样(匹配)
password1 = self.cleaned_data.get("password1")
password2 = self.cleaned_data.get("password2")
if password1 and password2 and password1 != password2:
raise forms.ValidationError("密码不匹配")
return password2
def save(self, commit=True): #保存密码(散列的格式提供)
user = super(UserCreationForm, self).save(commit=False)
user.set_password(self.cleaned_data["password1"])
if commit:
user.save()#保存
return user
# 修改用户密码
class UserChangeForm(forms.ModelForm):
password = ReadOnlyPasswordHashField(label="修改密码",
help_text=("原始密码不存储,所以没有办法看到"
"这个用户的密码,但是你可以改变密码 "
"使用 <a href=\"../password/\">修改密码</a>."))#哈值#只读密码散列字段
class Meta:
model = models.UserProfile
fields = ['email', 'password', 'name', 'is_active', 'is_admin']
def clean_password(self):#不管用户提供什么,返回初始值。
return self.initial["password"] #表单添加和更改用户实例
class UserProfileAdmin(BaseUserAdmin):
form = UserChangeForm #修改
add_form = UserCreationForm#创建
# 字段用于显示用户模型。
# 这些覆盖定义UserAdmin固定在底座上
# auth.User参考特定字段。
list_display = ['email', 'name','is_staff', 'is_admin']#后台显示的字段
list_filter = ['is_admin','is_staff']#后台过滤的字段
fieldsets = (('账号密码', {'fields': ('email', 'password')}),
('个人信息', {'fields': ('name',)}),
('权限', {'fields': ('is_admin','is_staff','user_permissions','groups')}),)
#添加账户时显示要填写的字段
add_fieldsets = (('添加账户', {'classes': ('wide',),#wide(宽屏样式)
'fields': ('email', 'name', 'password1', 'password2')}),)
search_fields = ['email']#后台搜索的字段
ordering = ['email']#后台排序的字段
filter_horizontal =['user_permissions','groups',#必须覆盖的变量#后台复选框的字段
]
admin.site.register(models.UserProfile, UserProfileAdmin)#现在注册这个新UserProfileAdmin
# ——可选——使用Django的内置权限 开始————
#from django.contrib.auth.models import Group #权限组
#admin.site.unregister(Group)#权限组#因为我们不使用Django的内置权限,
# ——可选——使用Django的内置权限 结束————
#————————————————01堡垒机重写DJANGO账户表 结束————————————————

#admin.py

 #settings.py

 """
Django settings for eye project. Generated by 'django-admin startproject' using Django 2.1.4. For more information on this file, see
https://docs.djangoproject.com/en/2.1/topics/settings/ For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.1/ref/settings/
""" import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'r35s$()7lli1hw-!6%llp0uu$!m!e#nnlxu+&!6$(g*6f0=@2#' # SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Fortress.apps.FortressConfig',
] MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
] ROOT_URLCONF = 'eye.urls' TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
] WSGI_APPLICATION = 'eye.wsgi.application' # Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
} # Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
] # Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/
#————————————————01堡垒机重写DJANGO账户表 开始————————————————
# ————Django中使用中国时区和中文 开始————
#LANGUAGE_CODE = 'en-us'
#TIME_ZONE = 'UTC'
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
# ————Django中使用中国时区和中文 结束————
#————————————————01堡垒机重写DJANGO账户表 结束————————————————
USE_I18N = True USE_L10N = True
#————————————————01堡垒机重写DJANGO账户表 开始————————————————
# ————Django中跨时区 开始————
# USE_TZ = True
USE_TZ = False
# ————Django中跨时区 结束————
#————————————————01堡垒机重写DJANGO账户表 结束————————————————
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/ STATIC_URL = '/static/' #————————————————01堡垒机重写DJANGO账户表 开始————————————————
AUTH_USER_MODEL = 'Fortress.UserProfile'
#————————————————01堡垒机重写DJANGO账户表 结束————————————————

#settings.py



Django项目:堡垒机(Linux服务器主机管理系统)--01--01堡垒机重写DJANGO账户表的更多相关文章

  1. Django项目:堡垒机(Linux服务器主机管理系统)--03--03堡垒机在Linux系统里记录会话日志02/02

    #main.py #本文件写所有的连接交互动作程序 # ————————————————03堡垒机在Linux系统里记录会话日志 开始———————————————— from Fortress im ...

  2. Django项目:堡垒机(Linux服务器主机管理系统)--02--02堡垒机设计后台交互程序

    #main.py #本文件写所有的连接交互动作程序 #————————————————02堡垒机设计后台交互程序 开始———————————————— from django.contrib.auth ...

  3. Django项目部署在Linux下以进程方式启动

    Django项目部署在Linux下以进程方式启动 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 开发完Django项目后,需要把项目部署到linux环境下.当然, ...

  4. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  5. Django项目:CRM(客户关系管理系统)--84--74PerfectCRM实现CRM权限和权限组限制访问URL

    #models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...

  6. Django项目:CRM(客户关系管理系统)--70--60PerfectCRM实现CRM学生上课记录

    #urls.py """PerfectCRM URL Configuration The `urlpatterns` list routes URLs to views. ...

  7. Django项目:CRM(客户关系管理系统)--58--48PerfectCRM实现CRM客户报名流程学生合同

    # sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...

  8. Django项目:CRM(客户关系管理系统)--32--24PerfectCRM实现King_admin自定义操作数据

    #admin.py # ————————01PerfectCRM基本配置ADMIN———————— from django.contrib import admin # Register your m ...

  9. Django项目:CRM(客户关系管理系统)--02--01PerfectCRM基本配置ADMIN02

    三.CRM项目表结构设计 from django.db import models # Create your models here. """ #运行 Terminal ...

随机推荐

  1. 微信小程序开发显示城市天气

    本案例实现动态显示城市天气的功能,案例效果如下: 首先分析制作的思路: 1.在app.json文件的pages数组里加上main文件夹和template(模板)文件夹的路径. 2.在main.js文件 ...

  2. AutoFac mvc和WebAPI 注册Service (接口和实现)

    AutoFac  mvc和WebAPI  注册Service (接口和实现) 1.准备组件版本:Autofac 3.5.0    Autofac.Integration.Mvc 3.3.0.0  (I ...

  3. C#跨线程访问(二)----thread参数、回调传参数

    一.单个参数(封箱也可实现多参数) class B  {      public static void Main()      {          Thread t = new Thread(ne ...

  4. eclipse 在复制/粘贴 时很卡(转)

    最近发现eclipse在按Ctrl+C 时卡的要命,在网上找了一下,发现原来如此: 打开选项: Window -> Preferences -> General -> Editors ...

  5. Mysql ibd恢复

    一,binlog恢复,这里就不说了. 二,ibd方式其实很简单, 生成数据结构(有的可以跳过) 1,创建一个新库 2,新库里新建一个表,名字和回复的表一样. 字段数量一样(字段类型和名字都无所谓) 3 ...

  6. [转]走进 LINQ 的世界

    序 在此之前曾发表过三篇关于 LINQ 的随笔: 进阶:<LINQ 标准查询操作概述>(强烈推荐) 技巧:<Linq To Objects - 如何操作字符串> 和 <L ...

  7. leetcood学习笔记-965-单值二叉树

    题目描述; 第一次提交; class Solution: def isUnivalTree(self, root: TreeNode) -> bool: if root == None: ret ...

  8. awk 一 文本处理工具

    简介 awk 是逐行扫描文件(从第1行到最后一行),寻找含有目标文本的行: 如果匹配成功,则会在该行上执行用户想要的操作. 反之,则不对行做任何处理. awk 命令的基本格式为: awk [选项] ' ...

  9. 利用html2canvas截图,得到base64上传ajax

    <script type="text/javascript" src="js/html2canvas.js"></script> //布 ...

  10. NX二次开发-UFUN更改图纸页比例UF_DRAW_set_drawing_info

    #include <uf.h> #include <uf_draw.h> #include <uf_part.h> UF_initialize(); //获得当前图 ...