я столкнулся вопрос с глобальным переменным, когда я бегом на сервере разработки Джанго он прекрасно работает, но в апаче не работаетпитона глобальный переменный не работает в апаче
здесь код ниже:
red= "/project3/test/"
def showAddRecipe(request):
#global objc
if "userid" in request.session:
objc["ErrorMsgURL"]= ""
try:
urlList= request.POST
URL= str(urlList['url'])
URL= URL.strip('http://')
URL= "http://" + URL
recipe= __addRecipeUrl__(URL)
if (recipe == 'FailToOpenURL') or (recipe == 'Invalid-website-URL'):
#request.session["ErrorMsgURL"]= "Kindly check URL, Please enter a valid URL"
objc["ErrorMsgURL"]= "Kindly check URL, Please enter a valid URL"
print "here global_context =", objc
arurl= HttpResponseRedirect("/project3/add/import/")
arurl['ErrorMsgURL']= objc["ErrorMsgURL"]
#return HttpResponseRedirect("/project3/add/import/")
#return render_to_response('addRecipeUrl.html', objc, context_instance = RequestContext(request))
return (arurl)
else:
objc["recipe"] = recipe
return render_to_response('addRecipe.html',
objc,
context_instance = RequestContext(request))
except:
objc["recipe"] = ""
return render_to_response('addRecipe.html',
objc,
context_instance = RequestContext(request))
else:
global red
red= "/project3/add/"
return HttpResponseRedirect("/project3/login")
def showAddRecipeUrl(request):
if "userid" in request.session:
return render_to_response('addRecipeUrl.html',
objc,
context_instance = RequestContext(request))
else:
global red
red= "/project3/add/import/"
return HttpResponseRedirect("/project3/login")
def showLogin(request):
obj = {}
obj["error_message"] = ""
obj["registered"] = ""
if request.method == "POST":
if (red == "/project3/test"):
next= '/project3/recipes'
else:
next= red
try:
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
except:
user = authenticate(request=request)
if user is not None:
if user.is_active:
login(request, user)
request.session["userid"] = user.id
# Redirect to a success page.
return HttpResponseRedirect(next)
этот код отлично работает в сервере разработки Джанго, но в апаче, URL-адрес становится перенаправлен «/ project3/рецепты»
, если вы посмотрите в функции, значение глобальной переменной «красный» устанавливается после того, как сеанс пользователя истек или не вошел в систему, но пытается получить доступ к внутреннему URL-адресу, поэтому я получаю правильное значение глобальной переменной red, т. Е. url, к которому пользователь пытался получить доступ, не будучи входом в систему, при запуске на сервере разработки django, но тот же код не работает на сервере Apache. – Suhail