gpt4 book ai didi

javascript - 重新加载当前页面时,Django 不会刷新我的请求对象

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:54 25 4
gpt4 key购买 nike

我有一个 Django 网站,我希望它可以用不同的语言查看。直到今天早上一切正常。这是交易。我转到我的“关于我们”页面,它是英文的。在它下面有更改语言按钮,当我按下它时,所有内容都“神奇地”翻译成我想要的保加利亚语。另一方面,我有一个 JS 菜单,用户可以从中浏览产品。我点击“T 恤”,然后会在之前按下的菜单下方打开一个子菜单,其中包含不同的类别——男士、女士、 child 。该链接将我带到一个页面,其中列出了我要求的确切衣服。但是......当我尝试更改语言时,没有任何反应。我转到“关于”页面,从那里更改语言,返回服装目录,语言已更改...

我不会粘贴一些代码。

这是我的更改按钮代码:

function changeLanguage() {
if (getCookie('language') == 'EN') {
setCookie("language", 'BG');
} else {
setCookie("language", 'EN');
}
window.location.reload();
}

我的关于我们页面:

@base
def aboutUs(request):
return """<b>%s</b>""" % getTranslation("About Us Text", request.COOKIES['language'])

@base 方法:

def base(myfunc):
def inner_func(*args, **kwargs):
try:
args[0].COOKIES['language']
except:
args[0].COOKIES['language'] = 'BG'

# raise Exception(request)

# if I am in the AboutUs page
# and I click on the language change button
# the cookie value in the request object changes
# if however I am in the displayClothes page
# the value stays the same

# some code I removed

contents = myfunc(*args, **kwargs)

return render_to_response('index.html', {'title': title, 'categoriesByCollection': categoriesByCollection.iteritems(), 'keys': enumerate(keys), 'values': enumerate(values), 'contents': contents, 'btnHome':getTranslation("Home Button", args[0].COOKIES['language']), 'btnProducts':getTranslation("Products Button", args[0].COOKIES['language']), 'btnOrders':getTranslation("Orders Button", args[0].COOKIES['language']), 'btnAboutUs':getTranslation("About Us Button", args[0].COOKIES['language']), 'btnContacts':getTranslation("Contact Us Button", args[0].COOKIES['language']), 'btnChangeLanguage':getTranslation("Button Change Language", args[0].COOKIES['language'])})
return inner_func

目录页:

@base
def displayClothes(request, category, collection, page):
clothesToDisplay = getClothesFromCollectionAndCategory(request, category, collection)

contents = ""

# some code I removed

return """%s""" % (contents)

让我解释一下,您不必对我发布的大量代码感到 panic 。您不必理解它,甚至不必查看所有内容。我发布它以防万一,因为我真的无法理解该错误的来源。

现在这就是我缩小问题范围的方法。每次我想知道我的请求对象中有什么时,我都在使用“引发异常(请求)”进行调试。当我将它放在我的 aboutUs 方法中时,每次按下语言按钮时,语言 cookie 值都会改变。但不是在我使用 displayClothes 方法时。那里的语言保持不变。我还尝试将异常行放在 @base 方法的开头。原来那里的情况一模一样。当我在“关于我们”页面中单击按钮时,请求对象中的语言会发生变化,但当我在目录页面中按下按钮时,它会保持不变。

这就是我能找到的所有内容,我不知道 Django 如何区分我的页面以及以何种方式。

附言我认为 JavaScript 完美运行,我已经以多种方式对其进行了测试。

谢谢,我希望你们中的一些人会阅读这篇巨大的帖子,并且不要犹豫,索取更多代码摘录。

最佳答案

代码太多,无法通读。你真的需要努力减少它。

如果您确定错误出在 displayClothes 中的某处,那么我会注释掉一些位,直到您不再收到错误为止。但是似乎没有任何东西可以改变那个 View 中的 cookies,所以我不知道你会有多成功。还要确保您检查的是 AboutUs 请求中的实际内容,而不仅仅是您认为的内容。

旁注:您正在将 HTML 直接硬编码到您的 View 中。我很确定您真的不想这样做 - Django 有模板是有原因的。

关于javascript - 重新加载当前页面时,Django 不会刷新我的请求对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2938045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com