저는 작은 장고 프로젝트가 있습니다. 내 views.py에서 변수를 사용하여 tasks.py에 변수를 전달하고 변수를 사용하여 작업을 실행하려고 합니다만, 이름이 아닙니다. 정의 오류, 필자는 많은 솔루션은 다른 질문에서 본 필자 시도하지만 난 그것을 얻이 수없는 것 여기 NameError : 전역 이름 'query'가 정의되어 있지 않습니다.
여기 내 views.py# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render, loader
from django.template import Context
from django.http import HttpResponse
import json
import requests
from tasks import rti
def index(request):
return render(request, 'bus/index.html')
def search(request):
query = request.GET.get('q')
t = loader.get_template('bus/search.html')
c = Context({ 'query': query,})
rti()
return HttpResponse(t.render(c))
내 tasks.py
from background_task import background
import time
@background(schedule=1)
def rti():
timeout = time.time() + 60 * 15
while time.time() < timeout:
from views import search
dblink = '*apiurl*' + str(query) + '&format=json'
savelink = 'bus/static/bus/stop' + str(query)+ '.json'
r = requests.get(dblink)
jsondata = json.loads(r.text)
with open(savelink, 'w') as f:
json.dump(jsondata, f)
입니다 여기
은 추적입니다 :
Traceback (most recent call last):
File "/Users/dylankilkenny/dev/python/test2/lib/python2.7/site-packages/background_task/tasks.py", line 49, in bg_runner
func(*args, **kwargs)
File "/Users/dylankilkenny/dev/python/test2/mysite/bus/tasks.py", line 9, in rti
from views import search
NameError: global name 'query' is not defined
필자는이 시도하고이 오류를 가지고 :'형식 오류 : (RTI)는 인수가없는 (1 given)' –
메소드가'def rti (query)'로 갱신되지 않은 것처럼 들립니다. 작업을 실행중인 프로세스를 다시 시작했는지 확인하십시오. – Alasdair