Django中的元类
看Django(1.6)的Form相关源代码时比较迷惑,于是节选了django.forms.forms.py中的几个代码片段来分析Django中是怎么使用元类的:def with_metaclass(meta, *bases): """Create a base class with a metaclass.""" return meta("NewBase", bases, {})class DeclarativeFieldsMetaclass(type): def __new__(cls...
2024-01-10Django动态模型字段
我正在开发一个多租户应用程序,其中一些用户可以定义自己的数据字段(通过管理员)以收集表单中的其他数据并报告数据。后一点使得JSONField不是一个很好的选择,所以我有以下解决方案:class CustomDataField(models.Model): """ Abstract specification for arbitrary data fields. Not used for holding data itself, but met...
2024-01-10Django中的单表继承
Django中对单表继承有显式支持吗?最后我听说,该功能仍在开发和辩论中。在此期间是否可以使用库/黑客来捕获基本行为?我有一个混合了不同对象的层次结构。具有Employee类,雇员类型的子类和manager_id(parent_id)的公司结构的规范示例将很好地逼近我正在解决的问题。就我而言,我想代表一个想法...
2024-01-10Django:表格不存在
我删除了一些与应用程序相关的表。再试一次syncdb命令python manage.py syncdb它显示错误django.db.utils.ProgrammingError: (1146, "Table 'someapp.feed' doesn't exist")models.pyclass feed(models.Model): user = models.ForeignKey(User,null=True,blank=True) feed_text = models.CharField(...
2024-01-10Django静态文件404
我无法显示我的静态文件。我尝试了各种设置和目录配置等,但是它们只是显示为404。我已经安装了debug_toolbar,所以知道STATIC_URL正在到达我的请求上下文。显示/ static的目录结构(我还将目录和用户放置在餐应用文件夹中,只是为了尝试一下。/mealmate /mealmate /meals /static /css /bo...
2024-01-10Django单元测试(一)
Django测试框架非常简单,首选方法是使用python标准库中的unittest模块。Writing testsDjango的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。类名为django.test.TestCase,继承于python的unittest.TestCase。from django.test import TestCasefrom myapp.models import Animal class AnimalTestCase(TestCase): ...
2024-01-10Django 多环境配置详解
本文也是开发项目中的一个小经验Tip,虽然很简单,但对很多朋友也有小帮助。我们实际工程中,可能遇到开发环境、预上线环境、线上环境等环境场景,应用配置因此可能有所不同。我的经验是利用环境变量来定义应用运行环境,并在代码中做对应的判定。具体来说,我在settings.py中增加了一些判...
2024-01-10Django在启动时加载资源
当Django启动时,如何从mysql数据库加载资源并将其放入内存(Redis)中,以供所有应用程序使用。我已经看到了这个[https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready]class MyAppConfig(AppConfig): def ready(self):但是他们提到在ready函数中不使用db连接。我的网站启动时该怎么办?我还可以...
2024-01-10Django模板系统—过滤器
过滤器,变量的显示形式的改变一、形式:小写{{ name | lower }} 二、串联:先转义文本到HTML,再转换每行到 <p> 标签{{ my_text|escape|linebreaks }} 三、过滤器的参数显示前30个字{{ bio | truncatewords:"30" }}格式化{{ pub_date | date:"F j, Y" }} 过滤器列表{{ 123|add:"5" }} 给value加上一个数值{{ "AB'CD"|addslashes }} 单引号加上转义...
2024-01-10一文读懂Django路由规则
什么是路由对一个给定的URL进行定义,转换,传参,命名之后,找到相应处理函数的过程,也就是关联URL和处理函数的过程。Django的路由配置在settings.py文件中ROOT_URLCONF变量指定了全局路由文件名称。也就是工程的入口路由文件。ROOT_URLCONF = "<工程名称>.urls"在urls.py文件中使用urlpatterns变量表示路由,该...
2024-01-10Django中的内置信号有哪些
Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。Django内置信号Model signals pre_init # django的modal执行其构造方法前,自动触发 post_init # django的...
2024-01-10使用Django创建电子邮件模板
我想使用Django模板发送HTML电子邮件:<html><body>hello <strong>{{username}}</strong>your account activated.<img src="mysite.com/logo.gif" /></body>我找不到任何有关的信息send_mail,而django-mailer仅发送HTML模板,而没有动态数据。如何使用Django的模板引擎生成电子邮件?回答:从docs,要发送HTML电子邮件,你想使用其他内...
2024-01-10通过外键的Django分面子类别
我有一个“顶级类别”和“中间类别”的项目列表,最终会有一个“低级类别”,但现在不是。例如,分别为电子>笔记本电脑。通过外键的Django分面子类别我想动态方面对这一类,所以笔记本电脑将在电子等我如何能达致这有什么想法显示?目前,我有'热门类别'正确面对。models.pyclass mid_category(mode...
2024-01-10Django之简易用户系统(3)
目录1. 总体设计思路2. 搭建简易用户系统2.1 配置模型Model2. 2 写入数据库:2.3 数据库验证表:2.4 路由URL配置:2.5 用户增加后台执行脚本配置:视图模板配置:前端展示效果如下:用户提交,后台数据库验证:2.6 用户查询后台执行脚本配置:视图模板配置:前端展示效果如下:查询用...
2024-01-10Django表单集:首先需要吗?
这些表单集表现出与我想要的相反的行为。我的视图设置如下:def post(request): # TODO: handle vehicle formset VehicleFormSetFactory = formset_factory(VehicleForm, extra=1) if request.POST: vehicles_formset = VehicleFormSetFactory(request.POST) else: vehicles_formse...
2024-01-10从Django视图启动Scrapy
我对Scrapy的经验有限,每次使用它时,总是通过终端的命令进行。如何从django模板中获取表单数据(要抓取的网址),以便与scrapy通信以开始抓取?到目前为止,我只想到的是从django的视图中获取表单的返回数据,然后尝试进入scrapy目录中的spider.py,以将表单数据的url添加到Spider的start_urls中。从那里开...
2024-01-10Django表单:将参数传递给表单
如何将参数传递给表单?someView().. form = StylesForm(data_dict) # I also want to pass in site_id here.class StylesForm(forms.Form): # I want access to site_id here根据以下答案进行编辑:someView().. form = StylesForm(data_dict, site_id = 1)class StylesForm(forms.Form): ...
2024-01-10使用Django服务动态生成的图像
如何在Django中提供动态生成的图像?我有一个html标签<html>... <img src="images/dynamic_chart.png" />...</html>链接到此请求处理程序,该请求处理程序创建内存图像def chart(request): img = Image.new("RGB", (300,300), "#FFFFFF") data = [(i,randint(100,200)) for i in range(0,300,10)] draw = Image...
2024-01-10Django-RQ:如何调用函数?
我正在将项目迁移到Django并喜欢使用该 模块。但是,我坚持要放在这里:import django_rqqueue = django_rq.get_queue('high')queue.enqueue(func, foo, bar=baz)怎么打电话func?可以是这样的字符串path.file.function吗?函数是否需要驻留在同一文件中?回答:创建task.py文件以包括from django_rq import job@job("high", timeout=600) ...
2024-01-10Django中CRUD操作有哪些?
在Django框架中,我们基本上都会用到增加、删除等操作。不过在Django中我们给它们取了一个名字,叫做crud,主要包含了四种操作增删改查。针对数据库中的条目进行有关操作,很多人还没有学习过这部分的内容。下面我们就Django中CRUD操作分别带来详解。1、crud操作crud是指增删改查,即增加(Create)、读...
2024-01-10Django聚合:两个字段相乘的总和
我有一个类似这样的模型:class Task(models.Model): progress = models.PositiveIntegerField() estimated_days = models.PositiveIntegerField()现在,我想Sum(progress * estimated_days)在数据库级别进行计算。使用Django聚合,我可以获取每个字段的总和,但是不能获取字段相乘的总和。回答:对于Django> = 1.8,请遵循@kmmbvnr提供的...
2024-01-10Django RunServer永久
如何使django开发服务器永久运行?这样我退出shell时就不会停止。回答:一个简单的方法是运行:[user@host]$screen[user@host]$python manage.py runserver 0.0.0.0:8000现在按Ctrl+A,然后按d退出此屏幕。这将在屏幕中创建服务器,然后将其分离。这样,你可以简单地返回并输入:[user@host]$screen -r你可以再次控制服...
2024-01-10Django模型验证器详解和源码分析
转发请注明来源在Django的模型字段参数中,有一个参数叫做validators,这个参数是用来指定当前字段需要使用的验证器,也就是对字段数据的合法性进行验证,比如大小、类型等。Django的验证器可以分为模型相关的验证器和表单相关的验证器,它们基本类似,但在使用上有区别。本文讨论的是模型相...
2024-01-10仅在Django启动一次时执行代码?
我正在编写一个Django中间件类,该类只想在启动时执行一次,以初始化一些其他人工代码。我遵循了sdolan 在此处发布的非常好的解决方案,但是“ Hello”消息两次输出到终端。例如from django.core.exceptions import MiddlewareNotUsedfrom django.conf import settingsclass StartupMiddleware(object): def __init__(self): print "He...
2024-01-10Django扫码抽奖平台的配置过程详解
安装源pip install django2.2pip install mysqlclient1.4.6使用pyharm 创建django 项目django基本配置在settings.py中设置数据库链接DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'km', 'USER': 'root', 'PASSWORD': 'n4', 'HOST': 'na.cc', 'PORT': '3306' }}在settin...
2024-01-10