luffyadmin的配置以及simpleui后端页面设置、git简单使用

复习

# 1 前端使用elementui
	-npm install -S elementui
    -main.js--->入口中配置
        import ElementUI from 'element-ui';
        import 'element-ui/lib/theme-chalk/index.css';
        Vue.use(ElementUI);
    -任意Vue的组件中,从官网复制即可
    -Vant 前端UI库
    
    -bootstrap和Jquery
    	-npm install -S bootstrap@3
        -npm instal -S jquery
        -main.js--->入口中配置
        	import 'bootstrap'
		    import 'bootstrap/dist/css/bootstrap.min.css'
        -项目根路径下---》新建一个vue.config.js
            const webpack = require("webpack");
            module.exports = {
                configureWebpack: {
                    plugins: [
                        new webpack.ProvidePlugin({
                            $: "jquery",
                            jQuery: "jquery",
                            "window.jQuery": "jquery",
                            "window.$": "jquery",
                            Popper: ["popper.js", "default"]
                        })
                    ]
                }
            };
         -以后$ 就是jquery对象
         -bootstrap直接使用即可
       
# 2 后台User表
	-整个项目的User表,使用auth的User表扩写
    	-使用auth的User表,要么项目在迁移之前就使用,否则需要删库,删迁移文件(auth,admin),重新生成
     -继承AbstractUser----》Meta下有个abstract参数---》只用来继承
    	-加字段即可
        -一定要在项目的配置文件中声明
        	AUTH_USER_MODEL='app名字.表名'
        -两条迁移命令
     -django.contrib---》admin,auth,session
# 3 前台首页设计
	-公司里有原型图(产品经理)---》美工的切图(ui组)---》前端
    -首页是Home.vue,Header.vue,Banner.vue,Footer.vue
    
# 4 后台接口
	-原型图----》首页需要哪些接口
    -创建一个home的app,设计表(敏捷开发)--->查询所有-->is_show,is_delete
    -BaseModel 基表,不能再数据库生成
    -Banner表继承BaseModel表---》继续写Banner的字段
    	-字段多一个或者少一个,都不重要
    -视图类,序列化类,自动生成路由
    
    -跟前端打通
# 5 跨域
	-同源策略:不允许去不同的域发请求,协议,地址,端口都必须一致
    -CORS:跨域资源共享(前后端配合,前端基本浏览器都支持,后端需要再响应头中加参数)
    -简单请求和非简单请求
    	-简单请求只发一次真正的请求
        -非简单请求发送两次,一次是OPTIONS请求,再一次是真正的请求
    -写到中间件
    -第三方 django-cors-headers的使用
    	-安装
        -把app配置再项目中
        -把中间件配置再项目中
        -再配置文件中配置
        
        
    面试题-如何防止公司的接口被第三方app,调用?
    	-你们的跨域只允许自己项目的前端访问:res['Access-Control-Allow-Origin'] = 'http://192.168.12.34:8080/'
        -app存在跨域?不存在,设置成这样,防止不了app
        	-通过认证解决:大部分接口需要登录访问
        	-前后端加密传输:js逆向,app逆向

今日内容

1 自定义配置

# 再settings文件夹下新建common_settings.py
写入自定义的配置信息
# 首页轮播图显示的张数
BANNER_COUNT=2

# 再dev.py中导入
from .common_settings import *


# 以后。开发和上线公共的配置就可以放在自定义配置文件中
class BannerView(GenericViewSet,ListModelMixin):
    serializer_class =BannerSerializer
    #视图类里设置因为queryset对象是一个列表 所以[:xxx]0到xxx位置
    queryset = Banner.objects.all().filter(is_delete=False,is_show=True)[:settings.BANNER_COUNT]
    

2 simpleui的使用

simpleui地址:https://simpleui.72wo.com/docs/simpleui/doc.html

# 目前写的项目的接口,都是主站,给用户看的,用的
# 后台管理:
	-原生的admin,不需要写太多页面,自动生成,页面丑陋
    -对原生admin的美化:xadmin,国外,simpleui
    -django-vue-admin:前后端分离版后台管理
    
    
# 使用
	-#### 1 pip3 install django-simpleui
    -#### 2 再app中注册:
    INSTALLED_APPS = [
    'simpleui',
    ]
    -#### 3 再配置文件中写
    ## simpleui的配置
import time
SIMPLEUI_CONFIG = {
    'system_keep': False,
    'menu_display': ['我的项目', '权限认证','主页',],      # 开启排序和过滤功能, 不填此字段为默认排序和全部显示, 空列表[] 为全部不显示.
    'dynamic': True,    # 设置是否开启动态菜单, 默认为False. 如果开启, 则会在每次用户登陆时动态展示菜单内容
    'menus': [
        {
        'name': '我的项目',
        'icon': 'fab fa-apple',
        'url': '/backend/'  # 咱们用自己的
    },
        {
        'app': 'auth',
        'name': '权限认证',
        'icon': 'fas fa-user-shield',
        'models': [
            {
            'name': '用户',
            'icon': 'fa fa-user',
            'url': 'auth/user/'
        },
            {
            'name': '组',
            'icon': 'fa fa-user',
            'url': 'auth/group/'
        },
            {
                'name': '权限',
                'icon': 'fa fa-user',
                'url': 'auth/permission/'
            }
        ]
    },
        {
            'app': 'home',
            'name': '主页',
            'icon': 'fas fa-user-shield',
            'models': [
                {
                    'name': '轮播图',
                    'icon': 'fa fa-user',
                    'url': 'home/banner/'
                },

            ]
        },
 ]
}

# SIMPLEUI_LOGIN_PARTICLES = False
SIMPLEUI_HOME_INFO = False


    
    -#####4 在admin.py中写 设置自定义一些按钮设置
    @admin.register(models.Banner)
class EmployeAdmin(admin.ModelAdmin):
    # 一行数据显示哪些字段
    list_display = ('id', 'title', 'link', 'is_show')

    # 增加自定义按钮
    actions = ['make_copy']
    def make_copy(self, request, queryset):
        # 点击触发它
        # queryset:选中的数据
        # request 请求对象
        print(queryset)

    make_copy.short_description = '我叫按钮'
    make_copy.confirm = '你是否执意要点击这个按钮?'

2.1监控大屏的设置

#首先拿到自己喜欢的模板 复制到自己项目,记得css、js等样式也要拿过来(最好放在static文件夹下 还要记得配置一下static)  然后对应路径需要修改
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

#写一个方法指向这个地址 就ok

#然后admin页面开始加标签
        {
            'app': 'home',
            'name': '主页',
            'icon': 'fas fa-user-shield',
            'models': [
                {
                    'name': '轮播图',
                    'icon': 'fa fa-user',
                    'url': 'home/banner/'  #这个要设置对 不然不行
                },
            ]
        },

3 git介绍

# 版本控制器:公司协同开发,张三,李四在自己本地开发代码,开发了10天开发出v1版本,V2版本
	-多人协同开发代码合并
    -对版本进行管理,能切换回老版本
    
# git
    什么是git:版本控制器 - 控制的对象是开发的项目代码
    代码开发时间轴:需求1 => 版本库1 ==> 需求2 => 版本库2 => 版本库3(版本库1) => 版本库4(版本库2
# 版本管理软件:git ,svn(很老)
	-svn:集中式管理,服务端(有个服务器放着)和客户端(开发人员)
     -git:分布式管理,自己本地就能进行代码的提交,查看历史代码。。。
                                                              
# git,github,gitee,gitlab
 	-git:软件,安装在操作系统上,对代码进行管理
    -github:网站,远程代码仓库(开源为主),全球的开源软件,也有私有代码(公司人看)
    	-我们自己开发的代码,提交到github上开源,也可以私有
    -gitee(码云):中国的github
    -自己搭建远程仓库---》gitlab                        
                                                              

4 git使用安装和使用

# 下载
https://git-scm.com/download
# 一路下一步
# 任意位置邮件,能看到 
	-git bash here
    -git gui here
    
###### 重点:git的三个区域
工作区            暂存区                       版本库
代码存放区域       代码改完放到暂存区           管理了历史代码
修改删除代码       才能提交到版本库             必须从暂存区提交过来


### 常用命令
# git 初始化
	-git init    # 初始化仓库,在某个想被git管理的文件夹下执行,会创建出 .git隐藏文件夹,代表该文件夹被git管理了
# 设置全局用户--》操作这个仓库的人是谁-->
	git config --global user.name 'lqz'
    git config --global user.email '306334678@qq.com'
    #注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
    
# 设置局部用户---》只对当前仓库有效
    git config user.name 'liuqingzheng'
    git config user.email '3@qq.com'
    #注:在当前仓库的.git文件夹下,config
    
# 查看仓库状态
	git status    # 查看仓库状态
    git status -s  # 简约显示
    # 在仓库下新建一个文件,查看,会发现是红色的
    # 空文件夹不会被git管理
    
    
# 从工作区把改变提交到暂存区
	git add 文件名字
    git add .  # 把当前路径下所有改变都提交到暂存区
    
    
# 从暂存区,提交到版本库
	git commit -m '注释,不加注释提交不了'  # 把暂存区的更改,提交到版本库
	git status   # 没有红色和绿色---》当前仓库下所有变化都被记录到版本库中了,后期可以回到这个状态
    
    
# 查看版本库的版本信息
	git log   #  查看版本库的日志信息,当前在那个版本上,就只能看到之前的
    git reflog #  简短一些日志,可以看所有的变化
    
# 恢复到某个版本
	git reset --hard 版本号  # 指定版本库中某个版本恢复到工作区
    
    
# 工作区回滚
	git checkout .    # 恢复工作区,恢复到跟版本库一样的状态,但是新增的文件,由于没被版本管理,它不会操作它
    
# 把暂存区的变化,拉回到工作区(由绿变红)
	git resetgit reset HEAD .
# 小练习
	-在zmyh.py 中加入一行代码
    -git status   # 红色的zmyh.py,没有提交到暂存区
    -git add .    # 提交到暂存区
    -git commit -m '注释' # 提交到 版本库 
    -删除 zmyh.py  
    -git status   # 红色
    -git add .    # 提交到暂存区
    -git commit -m '注释' # 提交到 版本库 
    # 到此,总共提交了三次(新建,修改了zmyh,删除了zmyh)
    -git log   #查看日志
    -git reset --hard b9b7824  # 回到某个版本
    -git reset --hard 5de4a6b

5 过滤文件

# 有些文件,不想被git管理,就要设置忽略文件

# 在仓库路径下新建  .gitignore--->在里面配置忽略文件  不要带.txt


""" 过滤文件内容
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

详细如下:
a.txt:项目中所有a.txt文件和文件夹都会被过滤
/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
*x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
	比如*.txt   :txt结尾的都忽略
空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)
"""

posted @ 2022-02-21 17:18  迪迦张  阅读(171)  评论(0编辑  收藏  举报