luffy第四篇

文章目录

  • 一、luffy项目使用xadmin
  • 二、首页轮播图接口
    • 1、后端轮播图模型以及序列化
    • 2、前端轮播图组件改写
    • 3、通过配置实现前端展示轮播图的数量
  • 三、git的基本使用
    • 1、git的工作流程
    • 2、git 分支

一、luffy项目使用xadmin

1 公司项目,有前台(主站),后台(xadmin)
2  使用步骤    
#1 安装:luffy虚拟环境下,在终端导入
pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2
#2 注册app:dev.py
INSTALLED_APPS = [
    # ...
    # xadmin主体模块
    'xadmin',
    # 渲染表格模块
    'crispy_forms',
    # 为模型通过版本控制,可以回滚数据
    'reversion',
]

#设置主路由替换掉admin:主urls.py
#3 xadmin的依赖
import xadmin
xadmin.autodiscover()
# xversion模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()
urlpatterns = [
    # ...
    path('xadmin/', xadmin.site.urls),
]

#xadmin:需要自己的数据库模型类,完成数据库迁移
python manage.py makemigrations
python manage.py migrate

#创建超级用户:大luffyapi路径终端
#4 在项目根目录下的终端
python manage.py createsuperuser

#5 账号密码设置:admin | Admin123

#完成xadmin全局配置:在homne.py下创建adminx.py
#6 home/adminx.py
# xadmin全局配置
import xadmin
from xadmin import views

class GlobalSettings(object):
    """xadmin的全局配置"""
    site_title = "路飞学城"  # 设置站点标题
    site_footer = "路飞学城有限公司"  # 设置站点的页脚
    menu_style = "accordion"  # 设置菜单折叠
xadmin.site.register(views.CommAdminView, GlobalSettings)

#注册表模型
xadmin.site.register(models.Banner)

二、首页轮播图接口

1、后端轮播图模型以及序列化

#在utils中创建model.py(实现一个基类,其他类继承它,就有它所有的属性和方法)
from django.db import models

class Basemodel(models.Model):  #虚拟表
    is_delete = models.BooleanField(default=False,verbose_name='是否删除')
    is_show = models.BooleanField(default=True,verbose_name='是否展示')
    create_time = models.DateTimeField(auto_now_add=True,verbose_name='创建时间')
    orders = models.IntegerField(verbose_name='顺序')

    class Meta:
        abstract = True   #不在数据库生成


# 在home.py下创建serializers.py
from rest_framework import serializers
from . import models
class BannerSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.Banner  #与banner表模型建立关系
        fields = ['name','image','link']

# views.py(接口)

# from rest_framework.generics import GenericAPIView   涉及数据库
# from rest_framework.viewsets import ViewSetMixin    自动生成路由
from rest_framework.viewsets import GenericViewSet   #GenericAPIView和ViewSetMixin两者结合体
from rest_framework.mixins import ListModelMixin
from . import models,serilaizers

class BannerView(GenericViewSet,ListModelMixin):
    queryset = models.Banner.objects.filter(is_delete=False,is_show=True).order_by('orders')[:settings.BANNER_SIZE]   #使用常量控制
    serializer_class = serilaizers.BannerSerializer
    
#home/urls.py  
#使用自动化生成路由
from django.urls import path,include
from rest_framework import routers
from . import views

route = routers.SimpleRouter()
route.register('banner',views.BannerView,basename='banner')

urlpatterns = [
    # path('',include(route.urls))
]
urlpatterns += route.urls

2、前端轮播图组件改写


<template>
    <div class="banner">
        <el-carousel height="400px">
            <el-carousel-item v-for="item in banner_list" :key="item">
                <router-link :to="item.link">
                    <img :src="item.image" :alt="item.name">  
                router-link>
            el-carousel-item>
        el-carousel>
    div>
template>

<script>
    export default {
        name: "Banner",
        data() {
            return{
                banner_list: []
            }
        },
        mounted() {
            this.$axios.get(this.$settings.base_url+'/home/banner/').then(res => {
                console.log(res.data)
                this.banner_list = res.data   //从后端发送请求拿到轮播图数据
            }).catch(error => {

            })
        }

    }
script>

3、通过配置实现前端展示轮播图的数量

1 在settings中新建const.py
BANNER_SIZE = 4   #展示轮播图的数量
2 在dev.py中
from .const import *   #将const.py中所有导入dev.py中
3 视图中
使用[:settings.BANNER_SIZE]来实现

三、git的基本使用

1 版本管理工具(git,svn)
2 安装客户端
下载链接:https://git-scm.com/
一路下一步安装

1、git的工作流程

详见 http://www.xuexianqi.top/archives/164.html

1 工作区:工作的目录,文件夹下,放一些文件,文件中写内容
2 暂存区:工作区的更改,提交到暂存区(在暂存区临时存储)
3 版本库:本地文件,内容变更记录


4 git相关操作(一堆命令)
	-git init     # 初始化仓库,把当前路径,被git管理起来
    -git init a   # 创建出一个文件夹,改文件夹被git管理(.git隐藏文件)
    
    -git status   # 查看状态
    	-红色:更改没有被提交到暂存区
        -绿色:更改被提交到暂存区,但是没有被提交到版本库
    # 提交到暂存区
        -git add a.txt # 把a.txt提交到暂存区  (git add .)
        -git add .   # 当前路径下所有更改,提交到暂存区
        -git reset . # 把提交到暂存区的,拉回到工作区(很少用)
    # 从暂存区提交到版本库(不能从工作区直接提交到版本库)
    	-要往版本库提变更,需要先配置用户
        # 全局配置(用户家路径记录:.gitconfig)
        git config --global user.email "[email protected]"
  		git config --global user.name "lqz"
        # 局部配置 (当前路径下配置文件中记录:.git-->config)
        git config  user.email "[email protected]"
  	    git config  user.name "egon"
		# 从暂存区提交到版本库(必须加注释,不加注释提交不上去)
        git commit -m '注释注释一定要加,并且有意义'
        
        # 查看log
        git log  # 看到版本库中谁提交了什么,写了什么注释,在什么时间,每个版本都有一个id号
        git reflog # 精简(详细)展示
        #查看时间点之前|之后的日志:
        >: git log --after 2018-6-1
        >: git log --before 2018-6-1
        >: git reflog --after 2018-6-1
        >: git reflog --before 2018-6-1
    	#查看指定开发者日志
        >: git log --author author_name
        >: git reflog --author author_name
        # 回滚(回滚到版本管理的最新的位置)
        git checkout .
        
        git reset --hard id号  切换到最新版本

img

2、git 分支

1 分支查看:git branch  # 绿色表示当前所在分支
2 分支创建:git branch dev # 创建分支的代码,基于master创建出来的,代码现在跟master一样
	-在那个分支上创建分支,目前新分支和所在分支代码一样
3 分支删除:git branch -d dev
4 切换分支 :git checkout dev
5 分支合并
    git merge 分支名
    把dev分支合并到master分支:切换到master分支,执行合并dev分支的命令
    
6 创建并切换到某个分支(两部并作一步)
	git checkout -b 分支名

img

你可能感兴趣的:(python,git,python,vue,git)