天天生鲜项目 python代码
时间: 2025-01-08 12:06:11 浏览: 1
### 天天生鲜项目 Python 源码示例
#### Django 应用结构概述
天天生鲜电商网站采用Django框架构建,其应用结构遵循标准的MVT模式(Model-View-Template)[^3]。
```python
# 文件位置: tiantianfresh/apps/goods/models.py
from django.db import models
class GoodsCategory(models.Model):
"""商品分类"""
name = models.CharField(max_length=20, verbose_name='种类名称')
class Meta:
db_table = 'df_goods_category'
verbose_name = "商品种类"
verbose_name_plural = verbose_name
def __str__(self):
return self.name
class GoodsSKU(models.Model):
"""商品库存单位"""
category = models.ForeignKey(GoodsCategory, on_delete=models.CASCADE, verbose_name="类别")
name = models.CharField(max_length=20, verbose_name='商品名称')
desc = models.CharField(max_length=256, verbose_name='商品简介')
price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='价格')
class Meta:
db_table = 'df_goods_sku'
verbose_name = "商品"
verbose_name_plural = verbose_name
def __str__(self):
return self.name
```
此段代码展示了如何定义两个核心模型类`GoodsCategory` 和 `GoodsSKU`, 它们用于表示商品分类及其具体实例。
#### 商品详情页视图逻辑
为了展示单个商品的信息,在视图层实现了相应的处理函数:
```python
# 文件位置: tiantianfresh/apps/goods/views.py
from django.shortcuts import render, get_object_or_404
from .models import GoodsSKU
def detail(request, sku_id):
"""显示商品详情页面"""
goods_sku = get_object_or_404(GoodsSKU, id=sku_id)
context = {
'goods': goods_sku,
}
return render(request, 'detail.html', context)
```
这段代码通过接收URL参数中的`sku_id`来查询特定的商品记录,并将其传递给模板渲染成HTML响应返回给客户端。
#### HTML 模板片段
最后来看一下部分前端模板的内容,这里仅提供了一个简单的例子说明如何在网页上呈现数据:
```html
<!-- 文件位置: templates/detail.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ goods.name }}</title>
</head>
<body>
<h1>商品名称:{{ goods.name }}</h1>
<p>描述:<br/>{{ goods.desc|linebreaks }}</p>
<p>价格:¥{{ goods.price }}</p>
</body>
</html>
```
上述代码利用了Django模板引擎的功能,将Python变量嵌入到HTML文档中以便动态生成最终展现给用户的Web页面。
阅读全文