社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Daniel Roseman

Daniel Roseman 最近创建的主题
Daniel Roseman 最近回复了

你需要 &= |= .

实际上,您的查询是“2020-01-02之后或2020-08-30之前的所有内容”,这与所有内容都匹配。考虑2019-01-01,它应该在范围之外;它不是在2020-01-02之后,所以它不符合第一个条件,但是 在2020-08-30之前,所以它符合第二个条件,并且整个过滤器是正确的。

使用 & 确保 二者都

您只需在模板上下文中传递参数,然后像使用任何其他变量一样使用它。

def graphv2(request, currency):
    return render(request, 'webapp/graphv2.html', {'title': 'Graphv2', 'currency': currency})

...

var prevHour_endpoint = 'https://min-api.cryptocompare.com/data/histominute?fsym={{ currency }}&tsym=EUR&limit=60'
6 年前
回复了 Daniel Roseman 创建的主题 » 重定向与反向django

格温布莱德给了你答案,但你可能会感到困惑,这是有原因的。Django redirect shortcut接受几种不同形式的参数。其中一个是带有参数的URLpattern mane,然后传递给reverse以生成要重定向到的实际URL。但这只是一条捷径,使一个共同的模式。

正则表达式就是你想要的。

import re
assert re.match(r"bob\|\d+\|abc\|manual$", incoming_string)

这个 \d+ 是一个或多个数字的占位符。注意,管道字符是转义的,因为它们在regex中有特殊的含义。

6 年前
回复了 Daniel Roseman 创建的主题 » Django:如何在模板中使用修改后的queryset而不保存修改

range(len(something)) ,但总是在事情本身之上。对于Django queryset,这一点更为重要,因为通过其索引访问未评估queryset中的项( [i]

请改为:

for answer in all_answers:
    answer.text = modify_text(answer.text, request)

context_data ["all_answers"] = all_answers 
print(context_data ["all_answers"][0].text) #Check that it was modified

注意,循环计算queryset,因此 [0] 不会引起另一个数据库请求。

这不是你写Python的方式。您需要创建对象的实例,并将值传递给它。

insert_CSV.append( 
     VALOR_TEMPERATURA(
        ID_Valor_Temperatura=count, 
         Data_De_Medição=datetime.datetime.strptime(row[0] + " UTC-0300",'%d/%m/%Y %H:%M:%S %Z%z')), 
         Valor=float(row[1]), 
         ID_Sensor_Temperatura=SENSOR_TEMPERATURA.objects.get(ID_Sensor_Temperatura=4)
     )
)

6 年前
回复了 Daniel Roseman 创建的主题 » Django:是否可以在视图中排除字段?

表单有一个 fields 可修改的字典。所以你可以:

form.pop(field)

is_valid()

6 年前
回复了 Daniel Roseman 创建的主题 » 在Django中正确使用自定义标记时出现问题

这个错误告诉您到底是什么错误:您没有在使用它的模板(即index.html)中加载标记。

{% load loansTable %}
{% show_loans %}

@register.inclusion_tag('loansTable.html')
def show_loans():
    ...
6 年前
回复了 Daniel Roseman 创建的主题 » 基于Django中两个可选字段的多对多关系

如果您使用 to_field :

class Observation(models.Model):
    item = models.ForeignKey('Item', related_name='observation_items', blank=True, null=True)
    group = models.ForeignKey('Item', to_field='group_id', related_name='observation_groups', blank=True, null=True)

现在你可以:

Observation.objects.select_related('item', 'group')
6 年前
回复了 Daniel Roseman 创建的主题 » Django Heroku H10 error method=获取路径=“/favicon.ico”

那不是你用枪的方式。它接受Python模块路径,而不是文件路径,并且不接受命令行上的IP或端口。

作为 the docs 秀,其实你只需要:

web: gunicorn folder.wsgi

假设 folder 是您的项目名称。

6 年前
回复了 Daniel Roseman 创建的主题 » Python Decorators导入时间

与此无关 wraps .

你还不明白装修师是怎么工作的。在导入时调用外部函数,并返回内部函数,该函数将替换要修饰的函数。然后调用内部函数来代替原始函数,因此需要使用其原始参数- func . 如果希望在导入时发生任何事情,则需要进入外部函数。

def register_scheduler(func):
    print(f"adding {func.__name__}")
    schedule_registry.add(func)

    @functools.wraps(func)
    def func_wrapper(*args, **kwargs):
       print(f"at call time")
       return func(*args, **kwargs)
    return func_wrapper

请注意,这两个示例实际上都不起作用;第一个示例不调用修饰后的函数,第二个示例在导入时调用内部函数,不留下任何内容来代替要修饰的函数。

6 年前
回复了 Daniel Roseman 创建的主题 » 使用models.PositiveIntegerField变量的Django循环

不,这不是原因。这段代码没有意义;您不能像那样动态地定义字段。字段依赖于数据库中的列,模型必须具有固定数量的字段。以及 goly_domaci 它本身是一个字段,此时没有值;它只有在从实际实例访问时才有值,此时定义其他字段已经太晚了。

但这不是你想做的。没有必要为同一目标模型定义所有这些独立的外键。你要做的是为目标定义一个单独的模型,这个模型指向这个模型(我假设Zapas的意思是游戏)。

class Goal(models.Model):
    game = models.ForeignKey(Zapas)
    team = models.ForeignKey(Tym, on_delete=models.CASCADE)
    strelec = models.ForeignKey(Hrac, on_delete=models.CASCADE)
    nahraval = models.ForeignKey(Hrac, on_delete=models.SET_NULL, blank=True, null=True)

然后你可以放下你的 高卢·多马奇 goly_hoste 当需要显示字段时,可以计算它们:

goly_hoste = my_zpas.goal_set.filter(team=my_zpas.tym_hoste).count()
goly_domaci = my_zpas.goal_set.filter(team=my_zpas.tym_domaci).count()
6 年前
回复了 Daniel Roseman 创建的主题 » 解析Django模板时的操作顺序

这实际上与操作顺序无关,而与 include 标签从 the docs :

include标记应被视为呈现此子模板并包含HTML的实现,而不是解析此子模板并包含其内容,就好像它是父模板的一部分一样这意味着包含的模板之间没有共享状态每个包含都是一个完全独立的呈现过程。

计算块 之前 包括在内这意味着包含来自另一个模板的块的模板将包含具有 已经评估和呈现 -不是可由扩展模板等重写的块。

5 年前
回复了 Daniel Roseman 创建的主题 » 如何在python中实例化类的实例?

如您在注释中所述,您将main导入player-这意味着您有一个循环导入:python无法解决此问题,因此会引发属性错误。

你不应该这么做。基本上不应该有玩家需要的东西。如果有的话,把它移到播放器本身或第三个模块。

6 年前
回复了 Daniel Roseman 创建的主题 » 使用特定状态代码在django中重定向

这不是你能做的。

在http中,重定向是代码3xx,主要是301和302。这就是浏览器知道如何进行重定向的原因。

如果返回4xx状态代码,浏览器会将其视为错误,而不是重定向。

6 年前
回复了 Daniel Roseman 创建的主题 » 如何在python中显示一篇文章的100个单词?

内置的 truncatewords 过滤器正是你想要的。

<p>{{ post.text|truncatewords:200|linebreaksbr }}</p>
6 年前
回复了 Daniel Roseman 创建的主题 » django中具有2个slug参数的noreversematch

在参数名中使用点是没有意义的。使用下划线:

path('product/<slug:category_slug>/<slug:product_slug>', views.ProductDetailView.as_view(), name="ProductDetail"),

然而,当您试图通过产品引用类别时,这仍然不起作用;但是您的模型在产品和类别之间没有任何关系。我想你需要一个从产品到类别的外键。

savete2chira是表单,因为错误显示表单没有属性“te2chira_id”。

我不完全确定您要做什么,但看起来您想要在会话中保存新创建的对象的id。因此,您需要使用该对象,它是从form save调用返回的:

    if form.is_valid():
        obj = form.save()
        id = obj.te2chira_id
        request.session['idTe2chira'] = id

注意,你的ajax done() 函数看起来很奇怪;您不能重定向到模板,而且无论如何,您的视图已经返回了该模板的呈现值。done函数应该更新页面dom以显示该响应的内容。

6 年前
回复了 Daniel Roseman 创建的主题 » DjangoTestCase类-为什么有些方法是camel case,而有些是snake case?

django的测试框架继承自python的unittest模块。这又很大程度上基于Java JUnit框架。Java使用CAMEL案例命名约定;当代码移植到Python时,名称被保留。

11 年前
回复了 Daniel Roseman 创建的主题 » Java和Python对静态变量的不同术语?[复制品]

这完全是预料之中的。范围不是“丢失”:通过分配给 self.my_class_dict ,将创建一个实例属性,该属性用相同的名称隐藏类属性。实例总是在类之前查找实例上的属性,因此将首先找到新创建的变量。

10 年前
回复了 Daniel Roseman 创建的主题 » 当我在google python上ping端口443时,python说它关闭了[复制]

因为你还没有进口 socket ,你提到的 socket.gethostbyname 将因名称错误而失败。但是你在捕捉和沉默 每一个例外 在你的try/except块中,包括那个错误。你永远不应该做一个空白,除了在第一时间,尤其是永远不应该只有 pass .

删除该尝试/限制,或将其限制为您可以处理的异常。

6 年前
回复了 Daniel Roseman 创建的主题 » ubuntu 16.04 virtualenv django导入错误

您应该始终在virtualenv中安装库。激活它然后 pip install django 再一次。

你删除的是实际的项目,而不是从多对多删除它。你应该:

item = Item.objects.get(pk=item_id)
shopping_cart.items.remove(item)
6 年前
回复了 Daniel Roseman 创建的主题 » 如何在django中基于其他模型字段设置模型字段类型

我不确定那次测试能证明什么。如果要基于另一个字段的值转换值,请在getter中进行转换;不需要setter。

@property
def value(self):
    conversions = {'int': int, 'str': str, 'bool': bool, 'float': float}
    return conversions[self.type](self._value)
6 年前
回复了 Daniel Roseman 创建的主题 » 浮动python的字符串-格式不正确?

valueerror应该在错误之后显示错误的输入。它 应该 看起来像这样:

ValueError: could not convert string to float: '4,43'

在冒号之后什么也得不到这一事实表明,实际上一开始就没有向float函数传递任何东西(即空字符串)。这几乎是肯定的,因为csv中的一行——可能是最后一行——在那一点上是空的。如果是这种情况,则应在尝试继续之前添加对空字符串的检查。

6 年前
回复了 Daniel Roseman 创建的主题 » django:如何用相关模型的字段自动填充字段

你应该在救人的时候这样做。

def save(self, *args, **kwargs):
    if not self.score:
        self.score = self.threat.score
    return super().save(*args, **kwargs)
7 年前
回复了 Daniel Roseman 创建的主题 » 了解Django ModelForm提交

你错过的是 querysets are lazy . 尽管在保存注释之前创建了查询集,但在迭代之前实际上不会进行查询,这会在保存新注释之后在模板本身中发生。

注意,正如Willem在评论中指出的,在成功保存之后,您确实应该重定向到另一个页面。这是为了防止在用户刷新页面时重复提交。如果愿意,可以重定向回同一个页面,但重要的是返回重定向,而不是返回到渲染。

new_comment.save()
return redirect('post-comment', post_slug=post_slug)
6 年前
回复了 Daniel Roseman 创建的主题 » 如何从Python类中的实例变量中获取所有值的列表

您应该将其定义为 Enum .

class HTTP_HEADERS(enum.Enum):
    ACCEPT = "X-Accept"
    DECLINE = "X-Decline"

现在您只需执行以下操作:

[x.value for x in HTTP_HEADERS]
6 年前
回复了 Daniel Roseman 创建的主题 » 自定义用户创建窗体Dosent在Django中保存密码

你需要把 现在的 调用中的类,而不是父类 super :

user=super(MyRegistrationForm, self).save(commit=False)

您的方式意味着它将跳过父级并直接转到祖辈(即modelform),后者没有自定义的设置密码逻辑。

请注意,尽管您使用的是python 3,但您根本不需要任何参数来超级:

user=super().save(commit=False)

这可以避免你的问题。

7 年前
回复了 Daniel Roseman 创建的主题 » Django原始SQL查询不返回数据

正如错误所说, raw 查询必须包含主键。这是因为它们生成模型实例,并且需要密钥才能执行诸如获取其他延迟属性之类的操作。

但我认为你根本不需要一个原始的查询。您可以通过标准ORM方法轻松生成此查询:

Post.objects.values('published_date').annotate(Count('title'))
7 年前
回复了 Daniel Roseman 创建的主题 » python无法访问其他方法中的类方法[重复]

这种“不寻常的行为”一点也不奇怪,但恰恰是Python的工作方式。您总是需要通过以下方式引用方法和属性: self .

def unhide_file(self):
    self.general_unhide(self.files)

您已将必需字段定义为包含单个空字符串的列表。Django试图确保提供了所有字段,但正如错误所述,空字符串不是该模型上的字段。

您可以通过将该值设置为空列表来修复它:

REQUIRED_FIELDS = []
6 年前
回复了 Daniel Roseman 创建的主题 » Ajax路由到django URL(使用django 2.0“path”urlpatterns)

第一, url 在Django 2.0中仍然完全有效。在以后的版本中,完全相同的功能与 re_path .

然而,问题并不存在。就是在新版本中添加了一个最后的斜线,以前没有。移除它:

path('all_json', ...)

或者,最好将其添加到Ajax调用中:

url: 'main/all_json/',

最后请注意,由于Ajax脚本直接在模板文件中,因此绝对可以使用 {% url %} 贴上标签。

16 年前
回复了 Daniel Roseman 创建的主题 » Rails/Django项目有可能成为死亡行军吗?[关闭]

当然是。我有个人的工作经验,在几个已成为死亡行军的Django项目。

你可以拥有世界上所有的敏捷开发技术,但是如果你的公司不完全接受敏捷概念,那么它将不会帮助你避免死亡行军。如果管理层要求某个产品在某个日期交付,并且它包含一组特定的功能,那么使用一个框架是没有帮助的:您仍然需要尽可能快地工作,直到他们满意为止。如果这意味着死亡行军,那就是死亡行军。

15 年前
回复了 Daniel Roseman 创建的主题 » 文件不从Django中的Web表单上载

您不显示模板。如果我不得不猜测,由于上传是通过管理界面进行的,我会说您忘记在表单标签中放置enctype:

<form enctype="multipart/form-data" method="post" action="/foo/">
6 年前
回复了 Daniel Roseman 创建的主题 » 如何从python django中删除数字海洋空间图像

大概你是说 delete_object 而不是 delete_file .

15 年前
回复了 Daniel Roseman 创建的主题 » Django需要一个IDE吗?

你的公司想为社区做出贡献是很好的,但我不得不说,我不知道“django-ide”能实现什么。已经有了所有主要编辑器和IDE的插件来支持django(从vim到textmate到netbeans),这些插件为python源和django模板提供语法突出显示、缩进、快捷方式和代码片段。当然,这些都可以通过更多的工作来完成,所以也许你的努力最好集中在改进其中一个方面。

6 年前
回复了 Daniel Roseman 创建的主题 » 在django数据库中插入foregin键

devices_form.company 什么都没用。

如果要手动设置值,则应 排除 它完全来自表单字段,并将其设置为保存。

class AddNetworkDevice(forms.ModelForm):
    ...
    class Meta:
        model = NetworkDevices
        exclude = ('company',)

       if 'dodajnapravo' in request.POST:
            devices_form = AddNetworkDevice(request.POST)
            if devices_form.is_valid():
                device = devices_form.save(commit=False)
                device.company_id = pk
                device.save()
                return redirect(network_devices)
15 年前
回复了 Daniel Roseman 创建的主题 » 为什么在Django检查两个密码是否匹配如此复杂?

首先,你是 认真地 抱怨四行炉号?如果它真的困扰你,创建一个 PasswordForm 类,它包含干净的逻辑,并根据需要为您自己的窗体子类。

其次,你 不要 必须手动验证唯一约束。正如您所说,ModelForm为您完成了这项工作。

评论后编辑

这种“奇怪的语法”是因为检查两个密码字段是否匹配是 不同流量 比正常情况下的情况要好。首先,你要检查主系统 clean 方法而不是字段特定的 clean_myfield . 如果是后者,只需引发一个异常,Django确实会删除字段数据。

所以不,这不是每个表单上的7行-参见我关于子类化的注释-而且它 当然 不是7行乘以多个字段,因为您不想对任何其他类型的字段执行此操作。