当项目中的models有数据表的时候,普通做法是用docke exec -it hello_web_1 bash,进入容器进行migrate,但是我们想要容器一启动就自动创建数据表,可以修改docker-compose.yml中的command命令,如下:

version: '3'

services:
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: 123456 web:
build: .
command:
- /bin/bash
- -c
- |
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver 0.0.0.0:8000
ports:
- 8000:8000
depends_on:
- db

当我们需要登陆的时候,需要数据库中有user用户,使用django自带认证方法:

from django.shortcuts import render, redirect
from django.views import View
from django.contrib.auth import authenticate, login, logout, models class thick_admin(View):
"""检测是否是第一次使用"""
def get(self, request):
exist_tag = "true"
exist = models.User.objects.count()
print('exist', exist)
if exist == 0:
exist_tag = "false"
return render(request, "register.html", locals())
def post(self, request):
username = request.POST.get('username')
password = request.POST.get('password')
is_superuser = request.POST.get('is_superuser')
if is_superuser:
models.User.objects.create_superuser(username=username, password=password, email=None)
print('superuser')
else:
models.User.objects.create_user(username=username, password=password)
print('user')
return redirect('/login/')

部署新项目自动对数据库进行migrate和让用户收到创建用户/超级用户信息的更多相关文章

  1. 部署django项目,sqlite3数据库出错sqlite3.NotSupportedError: URIs not supported

    如果遇到这个错误 sqlite3.NotSupportedError: URIs not supported 修改类似 该路径 的 base.py文件 /root/.virtualenvs/fkPy3 ...

  2. linux 项目自动部署脚本

    1.使用maven获取源码部署,并可替换配置文件(金融数据分析平台) #!/bin/bash#设置变量cd /home#停止tomcatecho "开始停止tomcat..." p ...

  3. AndroidStudio创建新项目报错

    创建新项目自动执行时报错: Failed to import new Gradle project: failed to find Build Tools revision 17.0.0 Consul ...

  4. Docker网络配置、Docker部署分布式项目

    目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/cont ...

  5. IDEA新项目代码上传到gitlab远程仓库

    IDEA新项目代码上传到gitlab远程仓库 具体步骤 创建本地仓库 IDEA:VCS-->Import into Version Control-->Create Git Reposit ...

  6. Eclipse中的Web项目自动部署到Tomcat

    原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...

  7. [转]Eclipse中的Web项目自动部署到Tomcat

    原文地址:http://www.cnblogs.com/ywl925/p/3815173.html 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的 ...

  8. Eclipse中WEB项目自动部署到Tomcat

    原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...

  9. Eclipse中的Web项目自动部署到Tomcat(转)

    转自:http://www.cnblogs.com/ywl925/p/3815173.html 问题: 这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Eclipse中做 ...

随机推荐

  1. 防世界之Web_NewsCenter

    题目:  打开实验环境一看,就一个搜索框,emmm试下有没有SQL注入点,SQL注入步骤传送门https://www.cnblogs.com/shacker/p/15917173.html 爆出数据, ...

  2. RIP协议测试——信而泰网络测试仪实操

    一.简介: RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递.RIP协议基于 ...

  3. 生产环境想要对某个Pod排错、数据恢复、故障复盘有什么办法?

    生产环境想要对某个Pod排错.数据恢复.故障复盘有什么办法? k8s考点灵魂拷问9连击之5 考点之简单描述一下k8s副本集ReplicaSet有什么作用? 考点之为什么ReplicaSet将取代Rep ...

  4. 用图帮你了解https的原理

    Http存在的问题 上过网的朋友都知道,网络是非常不安全的.尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵.还有大家平时喜欢用的万能钥匙,等等.那我们平时上网可能会存在哪些风险呢? 泄密, ...

  5. .Net Core之选项模式Options使用

    一.简要阐述 ASP.NET Core引入了Options模式,使用类来表示相关的设置组.简单的来说,就是用强类型的类来表达配置项,这带来了很多好处.利用了系统的依赖注入,并且还可以利用配置系统.它使 ...

  6. 【基础知识】CPU指令集

    计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程.指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计 ...

  7. 【C#基础概念】程序集Assembliy

    一.      程序集定义 二.      程序集结构 通常,静态程序集可能由以下四个元素组成: 程序集清单(manifest) 类型元数据metadata和程序集元数据. 实现这些类型的 Micro ...

  8. ts转js运行报错:“tsc : 无法加载文件

    一.在typescript.ts转换成.js运行时报错解决办法: 1.第一步:鼠标在vscode软件上右击打开属性–>兼容性–>以管理员的身份运行此程序,如下图: 2.第二步:打开vsco ...

  9. Qt:QMutex

    0.说明 QMutex类提供了线程间的同步控制. QMutex的目的是,保护Object.数据结构.代码块,以便每次只有一个线程能访问它(类似Java中的synchronized关键字).不过更好的情 ...

  10. logging日志模块、配置字典

    logging日志模块 知识点很多 但是需要掌握的很少(会用即可) import logging # 日志有五个等级(从上往下重要程度不一样) # logging.debug('debug级别') # ...