Django视图在“shell”中工作,但在导入到现有视图时不起作用

时间:2011-11-28 23:50:29

标签: python django

目标:在加载页面后立即显示倒计时“时钟”。 (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>

如果我在Windows命令提示符下运行“python manage.py shell”,然后“import countdown.py”,我会得到所需的结果。

但是,如果我将其合并到 views.py “导入倒计时”,我会得到以下内容(追溯):

回溯:

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'

错误:

_get_callback中的

* 文件“D:\ Python26 \ lib \ site-packages \ django \ core \ urlresolvers.py”   137.引发ViewDoesNotExist,“在模块%s中尝试%s。错误是:%s”%(func_name,mod_name,str(e))*

似乎是关键,但我无法准确地解释此错误以进行必要的更正。

提前感谢您提供的任何英特尔。

1 个答案:

答案 0 :(得分:0)

问题似乎是你的urlconf,它无法找到整个视图。