美文网首页毕业设计合集 - python - java - vue
基于python的二手商品交易平台

基于python的二手商品交易平台

作者: Tim1998 | 来源:发表于2022-06-19 18:16 被阅读0次

项目简介

该项目是基于python的web类库django开发的一套web网站,二手商品交易平台,可作为计算机专业学生课程设计、毕业设计。

界面展示

image

源码地址

https://github.com/geeeeeeeek/mask

启动项目

django-admin startproject mask

创建应用

python3 manage.py startapp app

model设计

主要是对需求表Product进行设计,在此项目中,我们需要标题、联系人、电话等字段。可参考models.py文件。

设计字段如下:

class Product(models.Model):
    list_display = ("title", "type", "location")
    title = models.CharField(max_length=100,blank=True, null=True)
    type = models.IntegerField(default=0)
    pv = models.IntegerField(default=0)
    contact = models.CharField(max_length=10,blank=True, null=True)
    location = models.CharField(max_length=20,blank=True, null=True)
    phone = models.CharField(max_length=13, blank=True, null=True)
    weixin = models.CharField(max_length=50, blank=True, null=True)
    status = models.BooleanField(default=False)
    timestamp = models.DateTimeField(auto_now_add=True, null=True)
    expire = models.IntegerField(default=1)

业务编写

本项目一共分为3个页面,分别是列表页、详情页、提交页。

我们一一讲解

首页

首先是首页,它的模版位于templates/app/index.html 它主要是用来展示首页内容, 并提交搜索词,到搜索接口,所有的接口都位于app/urls.py里面,如下

app_name = 'app'
urlpatterns = [
    path('index', views.IndexView.as_view(), name='index'),
    path('detail/<int:pk>', views.DetailView.as_view(), name='detail'),
    path('commit', views.CommitView.as_view(), name='commit')
]

我们设置首页的路由为IndexView, 开始编写IndexView的代码。它的代码非常简单:


class IndexView(generic.ListView):
    model = Product
    template_name = 'app/index.html'
    context_object_name = 'product_list'
    paginate_by = 15
    c = None

    def get_context_data(self, *, object_list=None, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)
        paginator = context.get('paginator')
        page = context.get('page_obj')
        page_list = get_page_list(paginator, page)
        context['c'] = self.c
        context['page_list'] = page_list
        return context

    def get_queryset(self):
        self.c = self.request.GET.get("c", None)
        if self.c:
            return Product.objects.filter(type=self.c).order_by('-timestamp')
        else:
            return Product.objects.filter(status=0).order_by('-timestamp')

详情页

我们再来开发详情页,从urls.py中看到,详情页是由DetailView来实现的,我们来窥探它的全貌:


class DetailView(generic.DetailView):
    model = Product
    template_name = 'app/detail.html'

    def get_object(self, queryset=None):
        obj = super().get_object()
        return obj

    def get_context_data(self, **kwargs):
        context = super(DetailView, self).get_context_data(**kwargs)
        return context

它很简单,继承了DetailView通用模板类来显示详情。

提交页

最后再来看一下提交页,它是由CommitView来实现的。同样是观看代码:

class CommitView(generic.CreateView):

    model = Product
    form_class = CommitForm
    template_name = 'app/commit.html'

    @ratelimit(key='ip', rate='2/m')
    def post(self, request, *args, **kwargs):
        was_limited = getattr(request, 'limited', False)
        if was_limited:
            messages.warning(self.request, "操作太频繁了,请1分钟后再试")
            return render(request, 'app/commit.html', {'form': CommitForm()})
        return super().post(request, *args, **kwargs)

    def get_success_url(self):
        messages.success(self.request, "发布成功! ")
        return reverse('app:commit')

它是继承自CreateView,因为是创建操作嘛,在post中,我们通过ratelimit来限制提交次数,防止恶意提交。

运行项目

python3 manage.py runserver

相关文章

  • 基于python的二手商品交易平台

    项目简介 该项目是基于python的web类库django开发的一套web网站,二手商品交易平台,可作为计算机专业...

  • 二手商品搭上电商顺风车 58同城二手更名转转

    近些年,互联网+思维在全国盛行,不少行业纷纷投入互联网的大潮,二手商品也不例外。 目前市场上不乏二手商品交易平台,...

  • 二手买卖,如何在网上赚钱?

    首先我所说的二手买卖,不是打着二手、闲置的旗号在在闲鱼、转转等二手交易平台出售全新商品,也是不是以闲置的旗号利用二...

  • 闲鱼的鱼塘会打败转转的分类信息吗?

    闲鱼和转转分别是阿里和58同城下的两个闲置物品交易平台;作为二手物品交易平台,拥有电商属性,商品和交易是其最基本元...

  • 短短一秒钟,我竟然被骗了

    一、谨慎二手交易平台的骗子 自从我开始极简生活,开始各种处理闲置之后,经常登陆不同的二手交易平台。 二手交易平台几...

  • 闲鱼小心得

    闲鱼是国内最大的二手交易平台,所以闲鱼的用户大多是抱着捡漏的心态,来买卖二手商品的! 如果我们想在闲鱼运营产品,一...

  • 打造Flutter高性能富文本编辑器——协议篇

    作者:闲鱼技术——光酒 闲鱼作为一个二手闲置交易平台,卖家发布商品产出优质的供给尤为重要;商品发布器希望拥有富文本...

  • 潜在的蓝海市场-闲鱼和转转

    中国人口基数巨大,新商品交易的电商平台很多,以淘宝天猫和京东为代表,成交量惊人。同样,二手商品交易平台的市场也很大...

  • 爬取Amazon商品销售排行榜

    概要:基于python实现Amazon商品排行榜爬取:排名、商品标题、商品链接、星级、评论数、图片链接、价格。关注...

  • 通过咸鱼赚钱的秘密

    原创/木贞网创 咸鱼作为一个二手交易平台已经存在很多年了,普通人只会把它当做一个买卖二手商品的平台,而聪明的人懂得...

网友评论

    本文标题:基于python的二手商品交易平台

    本文链接:https://www.haomeiwen.com/subject/prwrvrtx.html