文章目录
一、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、前端轮播图组件改写
<!--Banner.vue-->
<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 "lqz@qq.com"
git config --global user.name "lqz"
# 局部配置 (当前路径下配置文件中记录:.git-->config)
git config user.email "egon@qq.com"
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号 切换到最新版本
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 分支名