choices选项与富文本编辑器与 verbose_name选项:django开发之天天生鲜项目知识总结【1】

Django模型中的字段和模型名显示为中文小技巧分享 Python 默认情况下,Django会使用模型字段和模型名的英文形式作为数据库表的字段和表名。然而,有时候我们希望在管理后台或其他地方以中文的形式显示字段和模型名,以便更好地与用户进行交互。本文将分享一些简单的技巧,来实现在Django模型中将字段和模型名显示为中文的方法。通过以上方法,我们可以轻松地在Django模型中将字段和模型名显示为中文。如果我们需要更复杂的逻辑来确定字段和模型名的显示方式,我们可以通过自定义方法来实现。通过使用自定义的方法,我们可以根据自己的需求灵活地确定字段和模型名的中文表示。 阅读详情

首先来说一下:verbose_name

class xxx():
	...
   class Meta:
        db_table = 'df_goods_test'
        verbose_name = '商品'
        verbose_name_plural = verbose_name

就是使后台管理那里显示中文:
在这里插入图片描述

再来说富文本编辑器:

借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的、所见即所得的页面。此处以tinymce为例,其它富文本编辑器的使用也是类似的。

  • 首先,在虚拟环境中安装包:
#因为我的django版本比较低,所以就直接指定一个低版本的安装包。另外指定下载源,可以使下载速度飞快!
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django-tinymce==2.6.0
  • 下面需要注册一下应用,在settings.py里面
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'tinymce',   # 富文本编辑器
    'user',      # 用户模块
    'goods',     # 商品模块
    'cart',      # 购物车模块
    'order',     # 订单模块
)
  • 下面还是在settings.py 里面配置富文本编辑器
# 富文本编辑器的配置,不需要记忆,复制粘贴就行
TINYMCE_DEFAULT_CONFIG = {
    'theme': 'advanced',       # theme 主题  ,advanced 高级
    'width': 600,       # 指定宽
    'height':400,		# 指定高
}
  • 接着,在 urls.py 中配置编辑器url。
urlpatterns = [
    ...
    url(r'^tinymce/', include('tinymce.urls')),
]

下面介绍两种使用情况:

  • (1)在Admin中使用
  • 方法很简单,导入相应模块,然后就可以向django自带的字段类型一样去使用了
from django.db import models
from tinymce.models import HTMLField  # 导入富文本类型

# 瞎买你随便定义一个模型类
class GoodsTest(models.Model):
    '''测试模型类'''
	#这里再写上一个choices选项,等下讲解。
    STATUS_CHOICES = (  
        (0, '下架'),
        (1, '上架')
    )
    status = models.SmallIntegerField(default=1, choices=STATUS_CHOICES, verbose_name='商品状态')
    detail = HTMLField(verbose_name='商品详情')

    class Meta:
        db_table = 'df_goods_test'
        verbose_name = '商品'
        verbose_name_plural = verbose_name
  • 接着注册 接着在 在这里插入代码片admin.py中注册我们的模型类。
from django.contrib import admin
from booktest.models import GoodsTest
# Register your models here.
admin.site.register(GoodsTest)
  • 接着创建一个超级管理员,进入django后台管理(这里省略)

  • 接着进去,点击增加信息,就可以看到
    在这里插入图片描述

  • 当你在富文本中增加信息的时候,数据库中保存的是 html格式数据,你可以必要时关闭转义。 在这里插入图片描述
    *(2)下面说说,在自定义中使用:

    • 1)在views.py中定义视图editor,用于显示编辑器。
def editor(request):
    return render(request, 'booktest/editor.html')
  • 2)在booktest/urls.py中配置url。
url(r'^editor/',views.editor),
  • 3)在项目目录下创建静态文件目录如下图:
    在这里插入图片描述
  • 4)打开py_django虚拟环境的目录,找到tinymce的目录。
/home/python/.virtualenvs/py_django/lib/python3.5/site-packages/tinymce/static/tiny_mce
  • 5)拷贝tiny_mce_src.js文件、langs文件夹以及themes文件夹拷贝到项目目录下的static/js/目录下。
    在这里插入图片描述
  • 6)在test6/settings.py中配置静态文件查找路径。
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,'static'),
]
  • 7)在templates/booktest/目录下创建editor.html模板。
<html>
<head>
    <title>自定义使用tinymce</title>
    <script type="text/javascript" src='/static/js/tiny_mce.js'></script>
    <script type="text/javascript">
        tinyMCE.init({
            'mode':'textareas',
            'theme':'advanced',
            'width':400,
            'height':100
        });
    </script>
</head>
<body>
<form method="post" action="#">
    <textarea name='gcontent'>哈哈哈哈哈哈</textarea>
</form>
</body>
</html>
  • 8)运行服务器,在浏览器中输入如下网址:
http://127.0.0.1:8000/editor/
  • 如图:
    在这里插入图片描述
【Aseprite】制作Unity2D瓦片地图素材(平台游戏) 本文章用于记录用Aseprite软件制作2D平台游戏的瓦片地图的方法。 阅读详情

相关推荐

拆解英飞凌CoolGaN:如何用Silvaco TCAD仿真评估功率GaN HEMT的关键性能(BV、Qg、开关损耗)

本文详细解析了如何使用Silvaco TCAD仿真工具评估英飞凌CoolGaN功率GaN HEMT的关键性能指标,包括击穿电压(BV)、栅电荷(Qg)和开关损耗。通过精确建模极化效应、优化边缘终端结构以及高频开关损耗仿真技术,为功率器件工程师提供了一套完整的'设计-仿真-验证'方法论,助力GaN HEMT在快充、数据中心电源等领域的应用。

weixin_29159995的博客 426

python中choices_Django之choices选项和富文本编辑器的使用详解

项目准备1.创建数据库create database choices_test default charset utf8;2.创建一个名为 choices_test 的Django项目;3.创建应用app01;项目结构如下所示4.配置数据库;DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'choices_...

weixin_39629947的博客 464

芯片设计数字后仿与SDF文件:原理、流程与实战调试指南

在数字芯片设计流程中,时序验证是确保芯片功能正确与性能达标的核心环节。其原理在于通过精确的物理延迟模型,模拟信号在真实硅片上的传播行为,从而暴露理想仿真中无法发现的时序问题。这项技术的核心价值在于它是连接前端逻辑设计与后端物理实现的桥梁,能有效发现建立时间/保持时间违例、时钟偏斜、竞争冒险等关键风险,是保障芯片一次流片成功的关键步骤。其典型应用场景包括高性能计算单元、复杂SoC以及低功耗设计中的状态切换验证。本文聚焦于数字后仿真的具体实施,深入解析SDF文件的结构与反标机制,并提供从环境搭建、波形分析到与静

weixin_34279184的博客 381

django models verbose_name 的作用

一、 verbose_name就是在后台显示对对应的名称,看图 对应后台字段如图

QWERTY55555的专栏 2万+

Windows如何使用Anaconda 3进行keras环境的配置

** Windows如何使用Anaconda 3进行keras环境的配置 搭建Keras环境* Anaconda3如何安装keras,主要包括下面三步: 1.安装mingw libpython 2.安装theano 3.安装keras 若你还没有按装anaconda,赶紧下载安装吧! 下载途径有两个 (1)Anaconda版本为Anaconda 4.4.0,对应的python版本为3.6,附上An...

Lance_liangliang的博客 1600

2018南京大学计算机夏令营机试

1. Count number of binary strings without consecutive 1’s Given a positive integer n(3≤n≤90), count all possible distinct binary strings of length n such that there are no consecutive 1's . Examples...

climber16的博客 1万+

五、orm设计

到目前已经完成了留言板的前端功能,也就是一个简单的页面,后端的逻辑还没有实现,也就是与数据库的操作。 什么是ORM ORM即Object Relational Mapping,中文是:关系对象映射。它使用类的名称来对应数据库表名称,类的属性对应 数据库中的字段,类实例对应数据库中表的一行数据。 ORM相比原生sql的优势 在不用ORM的时候,原生sql可能需要这样写: ...

lyzkks的博客 1325

深入解析Lora SX1268:从基础配置到高级应用

本文深入解析了LoRa SX1268芯片从基础配置到高级应用的全过程。详细介绍了LoRa与FSK模式选择、核心参数(BW、SF、CR、LDRO)的配置策略、数据帧结构、缓冲区管理以及CAD模式等关键概念,旨在帮助开发者充分发挥SX1268在远距离、低功耗物联网通信中的潜力,并提供实用的调试技巧。

weixin_29168393的博客 116

Django里的ModelForm组件

要想在 ModelForm 里对某一些 Field 添加 css 样式,可以这么操作。如果要想添加在数据库没有的field到前端页面,可以这么操作。添加了红色方框里的输入框。ModelForm组件。这样效果就呈现在下面。

CHNMSCS 589

Claude Code 使用 OpenAI Codex(GPT-5.3-Codex)完整配置教程

通过 LiteLLM 可以让 Claude Code 调用任何模型,包括:OpenAIDeepSeekGemini本地模型↓↓优点:不依赖 Anthropic API可自由切换模型支持统一 AI Gateway这种“LLM Gateway 架构”正在成为 AI 开发工具的主流实践。

Jacobe_zhao的博客 1万+

基于价值的深度强化学习:DQN

本文主要是介绍DQN原理和算法伪代码和代码实现,算法实现包括pytorch版本和stable-baselines3版本

溯源的专栏 1082

python开发框架——Django基础知识(八)

学习Django的模型类,从这里开始

wakeyo_J 的博客 796

最新Python爬虫实战(入门爬虫篇)——案例1:某瓣网站Top250图片数据采集(附上完整爬虫代码)

本次案例通过Python爬虫技术实现了某瓣Top250电影封面的批量下载。代码采用模块化设计,函数实现cookies的自动解析,简化了配置流程,涵盖请求、解析、存储的完整流程。学习重点包括:抓包工具定位数据源、正则表达式匹配图片链接、模拟请求头绕过反爬机制、以及自动化文件管理。需要注意控制请求频率并遵守网站使用规范,适用于入门爬虫实践。

努力让自己发光,对的人才能迎着光而来 16万+

django的orm指定字段名,表名 verbose_name_plural

django的orm指定字段名,表名 verbose_name_plural 1.指定字段名: 在定义字段的时候,增加参数db_column=’real_field’; 2.指定表名: 在model的class中,添加Meta类,在Meta类中指定表名db_table 例如在某个models.py文件中,有一个类叫Info: class Info(models.Model): ''''' 信息统计 ''' app_id = models.Forei

w710537643的博客 8718

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Django模型-Meta选项

在使用这些选项时,需要确保你了解它们的作用和可能的影响,以避免产生意外的结果或错误。类是Django模型中的一个重要组件,它包含了一些非字段的选项,用于控制模型的元数据。选项用于指定模型对应的数据库表名。默认情况下,Django会根据模型的小写名称和应用的名称来自动生成表名。选项用于指定一个字段名,Django将使用这个字段的值来确定对象的最新性。在Django中,模型(Model)是数据的抽象,它定义了数据库中的表结构以及与之相关的行为。选项用于控制Django是否应该管理模型的数据库表的生命周期。

Python老吕的博客 1562

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

verbose_name_plural

class ContentCategory(BaseModel): name = models.CharField(max_length=50, verbose_name='名称') key = models.CharField(max_length=50, verbose_name='类别键名') class Meta: db_table = 't...

mandy__的博客 293

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Django ORM 框架中的表关系,你真的弄懂了吗?

当表示多对多关系的中间表需要包含其他字段的时候,需要自定义中间表,然后再定义多对多字段的时候,通过 through 参数指定第三张表。例如 crm 中的学生表和课程表的关系,通过报名表来表达,其中还包含了销售,创建时间字段。注意:创建学生,或者是创建课程的时候,都不需要去编辑彼此,这个时候建立多对多字段,主要是为了查询方便。

2301_78843735的博客 824

Django 自带后台中 verbose_name 后面多个s的问题

1、 使用 verbose_name, admin 站点中会在最后多个 ‘s’ class BookInfo(models.Model): # 创建字段,字段类型... name = models.CharField(max_length=20, verbose_name="名称") pub_date = models.DateField(verbose_name='发布日期', null=True) readcount = models.IntegerField(defau

weixin_43894537的博客 1192

django天天生鲜项目部署总结

部署环境:谷歌云vps/Ubuntu18.04.5/宝塔面板 额外用到的生产环境:miniconda/django3.1/python3.6/celery/redis/mysql/fastdfs/nginx/uwsgi 前期工作: 注册域名、买服务器、备案(国内服务器),申请ssl证书 1. 配置服务器 1.1. vps开启http、https流量,配置防火墙开放所有端口或者使用到的端口 例如:stmp邮件服务器:25、465(ssl) fastdfs:221...

m0_37871461的博客 534

django models.py之verbose_name作用举例

以姓名字段举例 默认verbose_name,后台显示字段名 更改verbose_name,后台显示更改后的verbose_name

weixin_44596902的博客 1909

django verbose_name 取消自动转大写

在 Django 中,模型字段的 verbose_name 默认会被转换为大写。要取消这个自动转换,可以在字段定义时使用 verbose_name_plural = "YourName" 代替 verbose_name = "YourName". ...

weixin_35750483的博客 239

Django:StackedInline 的更友好的标题,用于通过模型自动生成?

在 Django 中,你可以使用 `verbose_name` 和 `verbose_name_plural` 来为 StackedInline 的标题设置更友好的名称。1. 首先,你需要在你的模型类中定义一个 Meta 类,并在其中使用 `verbose_name` 和 `verbose_name_plural` 属性。3. 如果你的模型有自定义的字符串表示方法,那么你可以重写这个方法来返回一个更友好的名称。6. 如果你的模型有自定义的字符串表示方法,那么你可以重写这个方法来返回一个更友好的名称。

450

2Django pycharm

一、用pycharm运行django项目突然出错,找不到库,库文件也有问题,不知道为什么,可能是新建了项目冲突了。于是重新创建django项目,创建的时候选择新的anaconda环境。 在tool里面选择run mannag.py 运行startapp创建应用,然后运行。 二、Django模型之Meta选项详解 1.verbose_name verbose_name的意思很简单,就是给你的模型类起...

q386538588的博客 349

天天生鲜项目经验

一、项目架构 前端: 用户相关 商品相关 购物车相关 订单相关 后台管理 后端: 用户模块 商品模块 购物车模块 订单模块 后台管理模块 技术: mysql session 缓存服务器redis 异步任务处理celery 分布式文件存储系统fastdfs 二、用户认证模型 # django认证系统使用的用户模型 AUTH_USER_MODEL = "users.User" 1.类视图...

qq_20567419的博客 3168

models

Django models 的字段类型 1、models.AutoField —自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。 2、models.CharField —字符串字段 单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField。必须 max_length 参数,django会根据这个参数在数据库层和校验层限制该字段所允许的最大字符数。 3、models

leshen_88的博客 2428

获取Django中model字段名 字段的verbose_name

转自:https://www.cnblogs.com/zhaoyingjie/p/6484482.html obj._meta.fields 为关键 obj为model类 推荐使用函数 from django.apps import apps def getmodelfield(appname,modelname,exclude): """ 获取model的...

weixin_30835649的博客 1293
上一篇: django 用户模型类 User继承 AbstractUser 新建User Model时出现fields.E304错误
下一篇: 类视图的使用,以及简单原理分析:django开发之天天生鲜项目知识总结【2】
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值