我正在尝试实现一个待办事项列表网站来练习使用Django.在models.py中,我有一个名为Itemto-do项的类.在其中,我有以下几行:
due_date = models.DateTimeField(required=False)
Run Code Online (Sandbox Code Playgroud)
如果用户有某个待办事项的截止日期,due_date意味着是一个可选字段.问题是由于意外的关键字参数'required',上面的行给了我一个TypeError.
所以,似乎我不能使用DateTimeField的关键字参数'required'.有什么办法可以让DateTimeField可选吗?或者我有问题的标准实现?
有没有办法在表格单元格中输入换行符?例如,假设我有一个这样的表:
+----------+----------+----------+
| Header 1 | Header 2 | Header 3 |
+==========+==========+==========+
| Item 1 | | |
| Item 2 | | |
+----------+----------+----------+
Run Code Online (Sandbox Code Playgroud)
我希望上面创建一个包含两行,三列和第二行的表,第一列在单独的行上显示Item 1和Item 2.
我已经尝试了行块语法|,但它在表格单元格中不起作用.我可以使用列表语法,但我不希望出现项目符号.
我在 SQS 队列中有一批n消息和一些工作人员。这些工作人员从队列中获取消息,对其进行处理,如果成功则将其删除。当所有工人完成这批工作后n消息后,我想执行一项附加操作。唯一的问题是确定批次何时完成。
一种方法是检查队列是否为空。当我查看 SQS API 时,唯一看起来接近的是ApproximateNumberOfMessages您从GetQueueAttributes. 然而,“大约”这个词表明它实际上并不是我想要的,它的目的更多的是根据队列中大约有多少消息来增加和减少工作人员的数量。
实现我想要的目标的标准方法是什么?或者 SQS 不适合这个目的?
我不知道"嵌套python装饰器?" 是说出这个问题的正确方法,所以如果不是,请告诉我.
无论如何,我正在学习udacity,刚刚遇到一些涉及python装饰的代码,看起来像巫术魔法,所以现在我想问一个普遍的问题,看看我是否可以找出代码.
假设我有以下代码:
def A(f):
print 'blah'
return f
@A
def B(f):
return f
@B
def C():
pass
Run Code Online (Sandbox Code Playgroud)
现在,我明白从上面的代码中,装饰器导致B变成:
B = A(B)
Run Code Online (Sandbox Code Playgroud)
这就是装饰者的作用.但是,C是什么样的?从我看到的一些小样本代码,不知何故C受A影响,因为A改变B和B改变C.但我有两个问题理解这个:
C = A(B)(C)还是C = A(B(C))?个人猜测
其实,现在我已经输入出来,我推测,发生的事情是,我们首先得到:
B = A(B)和则 C = B(C).这意味着总体而言,我们得到了C = A(B)(C),它将解释为什么'blah'只打印一次.
但我确信这是最好的.
文件夹结构
我目前正在从Django书中学习Django.我有以下目录结构:
.
??? mysite
??? books
? ??? __init__.py
? ??? models.py
? ??? templates
? ? ??? search_form.html
? ? ??? search_results.html
? ??? tests.py
? ??? views.py
??? contact
? ??? forms.py
? ??? __init__.py
? ??? templates
? ? ??? contact_form.html
? ??? views.py
??? manage.py
??? mysite
??? __init__.py
??? settings.py
??? templates
? ??? base.html
? ??? current_datetime.html
? ??? hours_ahead.html
??? urls.py
??? views.py
??? wsgi.py
Run Code Online (Sandbox Code Playgroud)
书籍,联系人和mysite是文件夹.我还为每个文件夹都有一个单独的模板子文件夹来存储模板.
故事
现在,在/mysite/settings.py中,我有以下几行:
TEMPLATE_DIRS = …Run Code Online (Sandbox Code Playgroud)