我正在使用Django的内置密码重置机制。它会发送一封电子邮件,其中包含一个包含令牌的链接,单击该链接可用于重置密码。但是,正在生成的链接正在使用模板:
{% trans "Please go to the following page and choose a new password:" %}
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
{% endblock %}
在这里,{{ protocol }}
返回的是 http 而不是 https 。
我的nginx服务器会将所有http请求重定向到https基本链接(主页)。
因此,密码重置链接无效,因为生成的链接错误。它只是通过nginx转到首页。
我该如何解决?
答案 0 :(得分:0)
这可能是您的nginx配置中的X-Forwarded-Protocol问题。
您需要将其添加到您的位置块中:
protected void onPostExecute(String response) {
String inf1="";
String inf2="";
try {
JSONObject jsonObject =new JSONObject(response);
JSONArray result = jsonObject.getJSONArray("result");
for(int x=0; x < result.length(); x++) {
JSONObject collegeData = result.getJSONObject(x);
inf1 = collegeData.getString("title");
inf2 = collegeData.getString("text");
// Here I want to put these "inf1" and "inf2 strings into
// textviews and add these textviews into an existing linear layout
// with id: feedFetch"
}
} catch (JSONException e) {
e.printStackTrace();
}
}
有关更多信息,请参见:https://djangodeployment.com/2017/01/24/fix-djangos-https-redirects-nginx/