Python 将timedelta()与Django';s.DateField
我正在尝试计算我的Python 将timedelta()与Django';s.DateField,python,django,datetime,Python,Django,Datetime,我正在尝试计算我的Django 1.5项目中提供的服务的过期日期 我在model.py文件中导入了:from datetime import datetime,date,并编写了如下函数: def expirationdate(self): date = datetime.datetime.strptime(date.today(),'%Y-%m-%d') return date + datetime.timedelta(days=self.premiumdura
Django 1.5
项目中提供的服务的过期日期
我在model.py
文件中导入了:from datetime import datetime,date
,并编写了如下函数:
def expirationdate(self):
date = datetime.datetime.strptime(date.today(),'%Y-%m-%d')
return date + datetime.timedelta(days=self.premiumduration)
其中self.premiumduration在我的模块中定义如下:
premiumduration = models.IntegerField(blank=True, null=True)
此函数由HTML
模板调用,但会引发以下错误:
属性错误位于/user/Adriano/
类型对象“datetime.datetime”没有属性“datetime”
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/user/Adriano/
Django Version: 1.5
Python Version: 2.7.6
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'app_is')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Template error:
In template C:\Users\Adriano\Desktop\site_is\app_is\templates\user.html, error at line 31
type object 'datetime.datetime' has no attribute 'datetime'
21 : {% endif %}
22 : {% if view_user_profile.card_type == '' %}
23 : <p>Card type: Not Saved
24 : <p>Card Number: Not Saved
25 : {% else %}
26 : <p>Card type: {{ view_user_profile.get_card_type_display }}
27 : <p>Card Number: {{ view_user_profile.cardinfo }}
28 : {% endif %}
29 : {% if view_user_profile.premiumstatus %}
30 : <p>You are a premium user from {{view_user_profile.premiumactivation}}</p>
31 : <p>Your premium subscription will expire {{ view_user_profile.expirationdate }} </p>
32 : {% else %}
33 : <p>You are not a premium user yet! Buy your premium account <a href="/premium/">here!</p>
34 : {% endif %}
35 : {% endif %}
36 :
37 :
38 : {% if view_user == request.user %}
39 : <form action="/modify/" method="get">
40 : <input id="submit" type="button" value="Modify your profile" />
41 : </form>
Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Adriano\Desktop\site_is\app_is\views.py" in userpage
148. return render(request, 'user.html', {'request': request, 'view_user': view_user, 'view_user_profile': view_user_profile})
File "C:\Python27\lib\site-packages\django\shortcuts\__init__.py" in render
53. return HttpResponse(loader.render_to_string(*args, **kwargs),
File "C:\Python27\lib\site-packages\django\template\loader.py" in render_to_string
177. return t.render(context_instance)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
140. return self._render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in _render
134. return self.nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
830. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
74. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\loader_tags.py" in render
124. return compiled_parent._render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in _render
134. return self.nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
830. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
74. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\loader_tags.py" in render
63. result = block.nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
830. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
74. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\defaulttags.py" in render
284. return nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
830. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
74. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\defaulttags.py" in render
284. return nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
830. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
74. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render
84. output = self.filter_expression.resolve(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in resolve
578. obj = self.var.resolve(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in resolve
728. value = self._resolve_lookup(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in _resolve_lookup
779. current = current()
File "C:\Users\Adriano\Desktop\site_is\app_is\models.py" in expirationdate
48. date = datetime.datetime.strptime(self.premiumactivation,'%Y-%m-%d')
Exception Type: AttributeError at /user/Adriano/
Exception Value: type object 'datetime.datetime' has no attribute 'datetime'
环境:
请求方法:获取
请求URL:http://127.0.0.1:8000/user/Adriano/
Django版本:1.5
Python版本:2.7.6
已安装的应用程序:
(“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.sites”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“django.contrib.admin”,
"app_is")
已安装的中间件:
('django.middleware.common.CommonMiddleware',
“django.contrib.sessions.middleware.SessionMiddleware”,
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
模板错误:
在模板C:\Users\Adriano\Desktop\site\u is\app\u is\templates\user.html中,第31行出现错误
类型对象“datetime.datetime”没有属性“datetime”
21:{%endif%}
22:{%if view\u user\u profile.card\u type==''%}
23:卡类型:未保存
24:卡号:未保存
25:{%else%}
26:卡类型:{{view\u user\u profile.get\u Card\u type\u display}
27:卡号:{{view\u user\u profile.cardinfo}
28:{%endif%}
29:{%if view\u user\u profile.premiumstatus%}
30:您是来自{{view\u user\u profile.premiumactivation}的高级用户
31:您的高级订阅将过期{{view\u user\u profile.expirationdate}
32:{%else%}
33:您还不是高级用户!在这里购买您的高级帐户
34:{%endif%}
35:{%endif%}
36 :
37 :
38:{%if view_user==request.user%}
39 :
40 :
41 :
回溯:
get\U响应中的文件“C:\Python27\lib\site packages\django\core\handlers\base.py”
115响应=回调(请求,*回调参数,**回调参数)
userpage中的文件“C:\Users\Adriano\Desktop\site\u is\app\u is\views.py”
148返回呈现(请求,'user.html',{'request':请求,'view_user':view_user,'view_user_profile':view_user_profile})
render中的文件“C:\Python27\lib\site packages\django\shortcuts\\uuuu init\uuuu.py”
53返回HttpResponse(loader.render_to_string(*args,**kwargs),
render\u to\u字符串中的文件“C:\Python27\lib\site packages\django\template\loader.py”
177.返回t.render(上下文_实例)
render中的文件“C:\Python27\lib\site packages\django\template\base.py”
140.返回自渲染(上下文)
_render中的文件“C:\Python27\lib\site packages\django\template\base.py”
134.返回self.nodelist.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\base.py”
830.bit=self.render\u节点(节点,上下文)
render_节点中的文件“C:\Python27\lib\site packages\django\template\debug.py”
74.返回节点.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\loader\u tags.py”
124.返回编译的\u父对象。\u呈现(上下文)
_render中的文件“C:\Python27\lib\site packages\django\template\base.py”
134.返回self.nodelist.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\base.py”
830.bit=self.render\u节点(节点,上下文)
render_节点中的文件“C:\Python27\lib\site packages\django\template\debug.py”
74.返回节点.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\loader\u tags.py”
63.result=block.nodelist.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\base.py”
830.bit=self.render\u节点(节点,上下文)
render_节点中的文件“C:\Python27\lib\site packages\django\template\debug.py”
74.返回节点.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\defaulttags.py”
284.返回nodelist.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\base.py”
830.bit=self.render\u节点(节点,上下文)
render_节点中的文件“C:\Python27\lib\site packages\django\template\debug.py”
74.返回节点.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\defaulttags.py”
284.返回nodelist.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\base.py”
830.bit=self.render\u节点(节点,上下文)
render_节点中的文件“C:\Python27\lib\site packages\django\template\debug.py”
74.返回节点.render(上下文)
render中的文件“C:\Python27\lib\site packages\django\template\debug.py”
84.output=self.filter\u expression.resolve(上下文)
解析中的文件“C:\Python27\lib\site packages\django\template\base.py”
578.obj=self.var.resolve(上下文)
解析中的文件“C:\Python27\lib\site packages\django\template\base.py”
728.value=self.\u解析\u查找(上下文)
查找中的文件“C:\Python27\lib\site packages\django\template\base.py”
779.当前=当前()
expirationdate中的文件“C:\Users\Adriano\Desktop\site\u is\app\u is\models.py”
48.date=datetime.datetime.strtime(self.premiumactivation,“%Y-%m-%d”)
异常类型:AttributeError at/user/Adriano/
异常值:类型对象“datetime.datetime”没有属性“datetime”
<
from datetime import datetime
datetime.datetime.strptime(...)
datetime.strptime(...)
import datetime