zoukankan      html  css  js  c++  java
  • 部署新项目自动对数据库进行migrate和让用户收到创建用户/超级用户信息

    当项目中的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/')
  • 相关阅读:
    【转】sql server编写通用脚本自动检查两个不同服务器的新旧数据库的表结构差异
    Pytest 2
    【转】python通过SMTP协议发送邮件失败,报错505或535
    【转】环境搭建之allure的安装配置,及简单使用
    Pytest 1
    替换姓名为隐式
    docker 用户组权限
    安装go环境
    Win10配置WSL2安装Ubuntu,并支持Nvidia CUDA 环境
    miniconda源配置
  • 原文地址:https://www.cnblogs.com/yangyangming/p/11935369.html
Copyright © 2011-2022 走看看