我的Django教程有问题,所以我在这里问了一个问题。
没有人知道答案,但是我最终在罗伯特的帮助下找到了答案。Python似乎与对待import datetime
相同from datetime import *
。
工作代码:
import datetime
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_today(self):
return self.pub_date.date() == date.today()
不起作用的代码:(唯一的区别是import语句和最后一行。)
from django.db import models
import datetime
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_today(self):
return (self.pub_date() == datetime.date.today())
编辑: 我想我还不够清楚。的代码产生 完全相同的回溯到最后一行是 return (self.pub_date.date() == datetime.date.today())
我最初不忘补充.date()
是 不是 我问的错误。
由不起作用的代码产生的回溯:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/myDir/mySite/polls/models.py", line 11, in was_published_today
return (self.pub_date() == datetime.date.today())
TypeError: 'datetime.datetime' object is not callable
到底为什么要这样做?
我的问题 不是 关于遗忘.date()
。我的问题是:为什么不使用,日期时间在我的命名空间中from datetime import *
。
注:第一个问题问 什么 它在做什么。这个问题问 为什么。
更新: 突然起作用。与datetime.date.today()
AND
date.today()
。我的问题仍然存在,为什么date.today()
有效?似乎日期时间在我的本地名称空间中,而我没有放在那儿。为什么?
正如我们在评论中讨论的那样,问题不在于代码,而在于更新源代码的方式。python在中缓存模块sys.modules
。您可以使用reload
函数重新加载各个模块,但是对于许多更改,最好重新加载整个Shell。在许多情况下,由于错误消息似乎已发生更改,因此更改似乎已传播出去,这是因为python不缓存文件的源代码,因此当它引用代码时,它将向您显示最新版本。希望现在,您可以成功应用其他答案。
问题内容: 我已尝试找到有关最佳使用还是全面的指南。我刚开始使用Python,并且正在尝试着眼于最佳实践。 基本上,我希望有人能分享他们的经验,其他开发人员有什么喜好,以及避免遇到麻烦的最佳方法是什么? 问题答案: 和之间的区别主要是主观的。选择最喜欢的一个,并在使用中保持一致。这里有一些要点可以帮助你做出决定。 优点: - 减少维护你的import报表。无需添加任何其他导入即可开始使用模块中的另
我有一个这样的目录: 我可以这样导入父模块: 那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么?我已经尝试了,,等。 有什么建议吗? 谢谢
问题内容: 我应该使用 要么 当 导入模块 ,并和有 改变名字没有必要/愿望 ()? 有什么区别吗?有关系吗? 问题答案: 假设是中的模块或包,没有区别*,那就没关系。这两个语句具有完全相同的结果: 如果不是模块或软件包,则第二种形式将不起作用;引发回溯: *在Python 3.6及更高版本中,包含其他模块的软件包的初始化顺序存在一个错误,即在软件包 的加载阶段,在子模块中使用 该软件包 会失败,
本文向大家介绍TypeScript 从npm导入模块,包括了TypeScript 从npm导入模块的使用技巧和注意事项,需要的朋友参考一下 示例 如果模块具有类型定义文件(d.ts),则可以使用import语句。 如果您没有模块的定义文件,TypeScript将在编译时抛出错误,因为它找不到您要导入的模块。 在这种情况下,可以使用正常的运行时require功能导入模块。但是,这将其返回为any类型
问题内容: 假设我有两个Python模块,并且path_b在导入路径中: 是否可以查看从哪里导入模块?如果我启动app.py(因为我需要文件名),我想要一个类似“我是从path_a / app.py导入的”的输出。 编辑: 为了更好的理解;我可以写: 因此输出为: 问题答案: 可能有一种更简单的方法可以执行此操作,但这可以起作用: 请注意,如果该路径是脚本位置的父目录,则将相对于当前工作目录进行打
问题内容: 有没有办法让python从网络读取模块? 我们有很多机器,每次更换模块时都要手动更新每台机器,这太费力了,因此我希望python从网络上的某个位置获取模块。 有任何想法吗? 问题答案: 将网络位置挂载到文件系统中,然后将该路径添加到PYTHONPATH。这样,本地计算机上的Python将能够查看远程位置中存在的模块。您 不能 直接从模块直接远程导入,例如在html中指定js文件。
根据这个答案,您可以使用来使用类似这样的相对导入: 为什么相对导入不适用于sklearn。特征提取。文本 我验证了是一个具有以下功能的模块: 编辑 “不工作”,我的意思是它不导入模块。 我正在使用Python 3.4 绝对方式工作: 相对方式不:
模块“Transformer”解析为非模块实体,不能使用此构造导入。 如何导入类?其实我只是想利用那堂课。我不希望指令在我的代码中产生附带效应。我只想用它:'(