Django站点管理

一、配置

1.语言和时区配置

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

2.静态文件和上传保存文件路径配置

二、模型类

from django.db import models


class Products(models.Model):
    p_name = models.CharField(max_length=20, verbose_name='产品')  # verbose_name 设置数据中文名称
    p_price = models.DecimalField(max_digits=8, decimal_places=2, verbose_name='价格')

    class Meta:
        db_table = 'products'
        verbose_name = '产品'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.p_name

    def name(self):
        return self.p_name
    name.admin_order_field = 'p_name'   # 设置产品排序
    name.short_description = '产品名称'  # 设置name显示名称


# 后台管理上传图片
class ImgUpload(models.Model):
    img = models.ImageField(upload_to='img', verbose_name='图片')

    class Meta:

        verbose_name = '上传图片'
        verbose_name_plural = verbose_name

三、路由设置

urlpatterns = [
    path('admin/', admin.site.urls),
    path('create/', views.create),
    path('upLoadImg/', views.up_load_img)
]

四、视图函数

def create(request):
    products_list = []
    for i in range(1001):
        obj = Products(p_name='产品' + str(i), p_price=i)
        products_list.append(obj)
    Products.objects.bulk_create(products_list)  # 批量生成数据
    return HttpResponse('ok')


# 自定义上传图片
def up_load_img(request):

    if request.method == 'GET':
        return render(request, 'up_load_imgs.html')
    else:
        print(request.FILES)
        print(request.POST)
        pic = request.FILES.get('pic')  # 获取文件
        save_path = '{}/img/{}'.format(settings.MEDIA_ROOT, pic.name)  # 保存路径
        with open(save_path, 'wb') as f:   # 写进文件夹
            for content in pic.chunks():   # chunks返回生成器
                f.write(content)
        ImgUpload.objects.create(img='img/{}'.format(pic.name))   # 图片相对路径,保存到数据库
        return HttpResponse('OK')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值