home模块

创建home模块

"""
前提:在 luffy 虚拟环境下 1.终端从项目根目录进入apps目录
>: cd luffyapi & cd apps 2.创建app
>: python ../../manage.py startapp home
"""

路由分发

主路由:luffyapi/urls.py
from django.urls import path, re_path, include
urlpatterns = [
# ...
path('user/', include('home.urls')),
# ...
]
子路由:home/urls.py
from django.urls import path, re_path
urlpatterns = [ ]

Banner数据表model设计

utils/model.py
from django.db import models

class BaseModel(models.Model):
orders = models.IntegerField(verbose_name='显示顺序')
is_show = models.BooleanField(verbose_name="是否上架", default=False)
is_delete = models.BooleanField(verbose_name="逻辑删除", default=False) class Meta:
abstract = True
home/models.py
from django.db import models
from utils.model import BaseModel class Banner(BaseModel):
image = models.ImageField(upload_to='banner', verbose_name='轮播图', null=True, blank=True)
name = models.CharField(max_length=150, verbose_name='轮播图名称')
note = models.CharField(max_length=150, verbose_name='备注信息')
link = models.CharField(max_length=150, verbose_name='轮播图广告地址') class Meta:
db_table = 'luffy_banner'
verbose_name = '轮播图'
verbose_name_plural = verbose_name def __str__(self):
return self.name
数据迁移:在大luffyapi路径下的终端
>: python manage.py makemigrations
>: python manage.py migrate

注册home模块:dev.py

INSTALLED_APPS = [
# ...
'rest_framework',
'home',
]

设计Banner数据接口

home/serializers.py
from rest_framework.serializers import ModelSerializer
from . import models
class BannerModelSerializer(ModelSerializer):
class Meta:
model = models.Banner
fields = ('name', 'note', 'image', 'link')
home/views.py
from rest_framework.generics import ListAPIView
from utils.response import APIResponse
from . import models, serializers
class BannerListAPIView(ListAPIView):
queryset = models.Banner.objects.filter(is_delete=False, is_show=True).order_by('-orders')
serializer_class = serializers.BannerModelSerializer
home/urls.py
from django.urls import path, re_path
from . import views
urlpatterns = [
path('banners/', views.BannerListAPIView.as_view())
]

最新文章

  1. C# 实现 任意多边形切割折线算法
  2. Delphi Mac App 名称支持国际化多语显示
  3. Mongoose简单学习笔记
  4. springMVC3 ckeditor3.6 图片上传 JS回调
  5. gulp.spriteSmith使用
  6. 1096. Consecutive Factors (20)
  7. 为Android游戏接入第三方登录功能
  8. IE 将“通过域访问数据源”设置为启用(注册表)
  9. UITableView的刷新
  10. 怎样制作百度recovery【转】
  11. css befroe after 尾类技术器
  12. 网站开发进阶(十四)JS实现二维码生成
  13. PS 滤镜算法原理——照亮边缘
  14. JavaWeb架构发展
  15. 【Android】1.2 创建Android模拟器
  16. 转载->C#中的委托的使用和讲解
  17. mysql复制表结构create table as和like的区别
  18. sql server 数据库学习
  19. VC++:Debug出错,提示错误在findfile.cpp (Line 369)
  20. 日期插件My97DatePicker

热门文章

  1. Django中非视图函数获取用户对象
  2. CF573E Bear and Bowling(6-1)
  3. HTTP代理服务器搭建
  4. H5_0020:判断安卓苹果平台
  5. Hadoop报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=xxxx
  6. mysql 连接权限
  7. execute、executeUpdate、executeQuery的区别
  8. C++记录(二)
  9. [MongoDB] 使用PHP在MongoDB中搜索的实现
  10. Qt中的Label和PushButton背景图自动缩放设置