繁体   English   中英

如何在Django 1.7.7中使用{{request.path}}

[英]How to use {{ request.path }} in django 1.7.7

我在Django 1.7.7中遇到了一些问题。 我无法在django 1.7.7的模板中使用{{request.path}},但是在django 1.6中,我可以做到这一点。

在setting.py中配置模板以在Django 1.7.7中使用{{request}}:

TEMPLATES = [
{
    "BACKEND": "django.template.backends.django.DjangoTemplates",
    "DIRS": [
        os.path.join(PACKAGE_ROOT, "templates"),
    ],
    "APP_DIRS": True,
    "OPTIONS": {
        "debug": DEBUG,
        "context_processors": [
            "django.contrib.auth.context_processors.auth",
            "django.core.context_processors.debug",
            "django.core.context_processors.i18n",
            "django.core.context_processors.media",
            "django.core.context_processors.static",
            "django.core.context_processors.tz",
            "django.core.context_processors.request",
            "django.contrib.messages.context_processors.messages",
            "pinax_theme_bootstrap.context_processors.theme",
        ],
    },
},]

在Django 1.6中:

TEMPLATE_CONTEXT_PROCESSORS = [
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.core.context_processors.request",
"django.contrib.messages.context_processors.messages",
"pinax_theme_bootstrap.context_processors.theme",
"allauth.account.context_processors.account",
"django.core.context_processors.request"]

和我的模板html

 {% extends "base.html" %} {% load i18n %} {% load url from future %} {% block body_class %}home{% endblock %} {% block body_base %} {{ request.path }} <div class="row"> <form class="answer-question-form" method="POST" action="/add_answer_question"> {% csrf_token %} <div class="col-md-12" style="padding-left: 0px; padding-right: 0px"> <div class="form-group col-md-12"> <label>Question</label> <input type="text" class="form-control" name="question" placeholder="Question..."> </div> <div class="form-group col-md-6 col-sm-12"> <label>Choose type question</label> <select class="form-control" name="categories"> <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> </select> </div> <div class="form-group col-md-12"> <label>Type answer</label> <ul class="nav nav-pills nav-justified choose-type-answer"> <li class="active"><a class="type-answer" href="#" id="type-answer-01">Radio</a></li> <li><a class="type-answer" href="#" id="type-answer-02">Check</a></li> <li><a class="type-answer" href="#" id="type-answer-03">Seek</a></li> </ul> <input name="type-answers" type="hidden" value="01"> </div> <div class="form-group answers col-md-12"> <label>Answers</label> <input name="answer" type="text" class="form-control answer-detail" placeholder="Input answer here..."> <input name="answer" type="text" class="form-control answer-detail" placeholder="Input answer here..."> </div> <div class="form-group col-md-12"> <button class="btn btn-default pull-right" id="submit">Submit</button> </div> </div> </form> </div> {% endblock %} 

因此,我在模板中添加了“ django.core.context_processors.request”,但是它不起作用。

请帮我! 谢谢

去除 :

"OPTIONS": {
        "debug": DEBUG,
        "context_processors": [
            "django.contrib.auth.context_processors.auth",
            "django.core.context_processors.debug",
            "django.core.context_processors.i18n",
            "django.core.context_processors.media",
            "django.core.context_processors.static",
            "django.core.context_processors.tz",
            "django.core.context_processors.request",
            "django.contrib.messages.context_processors.messages",
            "pinax_theme_bootstrap.context_processors.theme",
        ],
    },

添加:

TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages"
"django.core.context_processors.request",
)

文档1.7中 ,他们只在doc 1.8中没有提到“ OPTIONS”,

如果您不呈现请求,如docs所示:

如果您使用Django的render_to_response()快捷方式将模板的内容填充到模板中,则默认情况下将为模板传递一个Context实例(不是RequestContext)。 要在模板渲染中使用RequestContext,请使用render()快捷方式,该快捷方式与带有context_instance参数的render_to_response()的调用相同,该参数强制使用RequestContext。

也许问题出在您的观点上。 尝试使用render而不是render_to_response(如果使用的话)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM