Цель: отображать «часы» обратного отсчета сразу после загрузки страницы. (FWIW, он предназначен для создания визуально громкого и четкого напоминания о приближающемся сроке)
Платформа: Windows
countdown.py
import datetime, os, time
from Tkinter import *
from sys import exit
root = Tk()
time = ""
clock = Label(root, font=('times', 48, 'bold'), bg="cyan")
clock.pack(fill=BOTH, expand=1)
def getTime():
- finish = datetime.datetime(2011, 12, 4, 14, 45, 14, 281000)
- now = datetime.datetime.now()
- diff = finish - now
- minutes, seconds = divmod(diff.seconds, 60)
- hours, minutes = divmod(minutes, 60)
- string = "%d days %d hours %d minutes %d seconds" % (diff.days,hours,minutes,seconds)
- clock.config(text=string)
- clock.after(200, getTime)
getTime()
root.mainloop()
urls.py:
from django.conf.urls.defaults import *
from django.conf import settings
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
- url(r'^$', 'views.upn', name='site-homepage'),
- (r'^ASSETS/(?P<path>.*)$', 'django.views.static.serve',
- {'document_root': settings.MEDIA_ROOT}),
- (r'^admin/', include(admin.site.urls)),
- (r'^upn/$', 'views.upn'),
)
views.py:
from django.template.loader import get_template
from django.template import Context
from django.http import HttpResponse
from django.shortcuts import render_to_response
import urllib2
import countdown
def upn(request):
-return render_to_response("main.html")
main.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Main Page</title>
<link rel="stylesheet" type="text/css" href="/ASSETS/CSS/UPN.css"/>
</head>
<body>
<div class="maintext">
<div>
<img class="MAINimg1" height="400" width="323" src="http://12345.jpg" border="0">
<img class="MAINimg2" height="350" width="550" src="http://6789.jpg" border="0" border="0" >
</div>
</body>
</html>
Если я запускаю "python manage.py shell" в командной строке Windows, тогда "import countdown.py" , я получаю желаемый результат.
Однако, если я включу его в views.py и "import countdown" , я получу следующее (traceback):
Traceback:
File "D:\Python26\lib\site-packages\django\core\handlers\base.py" in get_response
83. request.path_info)
File "D:\Python26\lib\site-packages\django\core\urlresolvers.py" in resolve
218. sub_match = pattern.resolve(new_path)
File "D:\Python26\lib\site-packages\django\core\urlresolvers.py" in resolve
125. return self.callback, args, kwargs
File "D:\Python26\lib\site-packages\django\core\urlresolvers.py" in _get_callback
137. raise ViewDoesNotExist, "Tried %s in module %s. Error was: %s" %
(func_name, mod_name, str(e))
Exception Type: ViewDoesNotExist at /
Exception Value: Tried upn in module views. Error was: 'module' object has no attribute 'argv'
Ошибка:
* Файл "D: \ Python26 \ lib \ site-packages \ django \ core \ urlresolvers.py" в _get_callback
137. повысить ViewDoesNotExist, «Попытка% s в модуле% s. Ошибка:% s»% (имя_функции, имя_модуля, str (e)) *
кажется ключевым, но я не могу интерпретировать эту ошибку достаточно точно, чтобы внести необходимые исправления.
Заранее благодарим за любую информацию, которую вы можете предложить.