您的位置:首页 > 新闻 > 资讯 > 如何制作活动宣传网页_做网站开发经营范围_网站搜索引擎优化技术_网络软文范例

如何制作活动宣传网页_做网站开发经营范围_网站搜索引擎优化技术_网络软文范例

2025/4/18 21:22:53 来源:https://blog.csdn.net/keny88888/article/details/147127556  浏览:    关键词:如何制作活动宣传网页_做网站开发经营范围_网站搜索引擎优化技术_网络软文范例
如何制作活动宣传网页_做网站开发经营范围_网站搜索引擎优化技术_网络软文范例

第一步:创建 Django 项目

bash

复制

django-admin startproject inventory_system
cd inventory_system
python manage.py startapp erp

第二步:定义数据模型(models.py)

python

复制

from django.db import models
from django.contrib.auth.models import Userclass Product(models.Model):name = models.CharField(max_length=100)code = models.CharField(max_length=20, unique=True)category = models.CharField(max_length=50)specification = models.TextField(blank=True)purchase_price = models.DecimalField(max_digits=10, decimal_places=2)selling_price = models.DecimalField(max_digits=10, decimal_places=2)stock = models.IntegerField(default=0)def __str__(self):return self.nameclass PurchaseOrder(models.Model):product = models.ForeignKey(Product, on_delete=models.CASCADE)quantity = models.IntegerField()order_date = models.DateTimeField(auto_now_add=True)operator = models.ForeignKey(User, on_delete=models.CASCADE)class SaleOrder(models.Model):product = models.ForeignKey(Product, on_delete=models.CASCADE)quantity = models.IntegerField()order_date = models.DateTimeField(auto_now_add=True)operator = models.ForeignKey(User, on_delete=models.CASCADE)

第三步:创建表单(forms.py)

python

复制

from django import forms
from .models import Product, PurchaseOrder, SaleOrderclass ProductForm(forms.ModelForm):class Meta:model = Productfields = '__all__'class PurchaseForm(forms.ModelForm):class Meta:model = PurchaseOrderfields = ['product', 'quantity']class SaleForm(forms.ModelForm):class Meta:model = SaleOrderfields = ['product', 'quantity']

第四步:编写视图(views.py)

python

复制

from django.shortcuts import render, redirect
from django.views.generic import ListView, CreateView, UpdateView, DeleteView
from django.urls import reverse_lazy
from .models import Product, PurchaseOrder, SaleOrder
from .forms import ProductForm, PurchaseForm, SaleFormclass ProductListView(ListView):model = Producttemplate_name = 'erp/product_list.html'context_object_name = 'products'class ProductCreateView(CreateView):model = Productform_class = ProductFormsuccess_url = reverse_lazy('product_list')template_name = 'erp/product_form.html'class PurchaseCreateView(CreateView):model = PurchaseOrderform_class = PurchaseFormsuccess_url = reverse_lazy('purchase_list')template_name = 'erp/order_form.html'def form_valid(self, form):# 更新库存product = form.cleaned_data['product']product.stock += form.cleaned_data['quantity']product.save()form.instance.operator = self.request.userreturn super().form_valid(form)class SaleCreateView(CreateView):model = SaleOrderform_class = SaleFormsuccess_url = reverse_lazy('sale_list')template_name = 'erp/order_form.html'def form_valid(self, form):# 检查库存并更新product = form.cleaned_data['product']if product.stock >= form.cleaned_data['quantity']:product.stock -= form.cleaned_data['quantity']product.save()form.instance.operator = self.request.userreturn super().form_valid(form)else:form.add_error('quantity', '库存不足')return self.form_invalid(form)

第五步:配置 URLs(urls.py)

python

复制

from django.urls import path
from erp import viewsurlpatterns = [# 商品管理path('products/', views.ProductListView.as_view(), name='product_list'),path('products/add/', views.ProductCreateView.as_view(), name='product_add'),# 采购管理path('purchases/add/', views.PurchaseCreateView.as_view(), name='purchase_add'),# 销售管理path('sales/add/', views.SaleCreateView.as_view(), name='sale_add'),
]

第六步:创建模板(示例模板:product_list.html)

html

复制

<!DOCTYPE html>
<html>
<head><title>商品列表</title><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body><div class="container mt-4"><h2>商品列表</h2><a href="{% url 'product_add' %}" class="btn btn-primary mb-3">新增商品</a><table class="table table-striped"><thead><tr><th>名称</th><th>编码</th><th>库存</th><th>采购价</th><th>销售价</th></tr></thead><tbody>{% for product in products %}<tr><td>{{ product.name }}</td><td>{{ product.code }}</td><td>{{ product.stock }}</td><td>{{ product.purchase_price }}</td><td>{{ product.selling_price }}</td></tr>{% endfor %}</tbody></table></div>
</body>
</html>

运行 HTML

第七步:运行迁移并创建管理员

bash

复制

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

第八步:运行开发服务器

bash

复制

python manage.py runserver

系统功能扩展建议:

  1. 库存预警:在商品模型中添加预警阈值字段,并在列表页显示库存状态

  2. 报表统计:使用Chart.js生成销售趋势图

  3. 权限控制:使用Django的权限系统限制不同用户的操作权限

  4. 供应商管理:添加Supplier模型并与采购订单关联

  5. 客户管理:添加Customer模型并与销售订单关联

  6. 条码支持:集成条形码扫描功能

  7. 导入导出:使用pandas实现Excel数据导入导出

这个基础版本实现了以下核心功能:

  • 商品基本信息管理

  • 采购入库(自动增加库存)

  • 销售出库(库存校验和扣减)

  • 基本操作日志记录(操作时间和操作人)

要完善系统,还需要添加以下内容:

  1. 订单列表视图

  2. 数据验证和错误处理

  3. 分页功能

  4. 搜索和过滤功能

  5. 详细的权限管理

  6. 审计日志

  7. 数据备份和恢复功能

建议使用以下第三方库增强功能:

  • Django Filter:实现复杂数据过滤

  • Django Import Export:实现数据导入导出

  • Django Tables2:创建更强大的表格视图

  • Django Guardian:对象级权限控制

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com