在Django模板中访问RequestContext?

在Django模板中访问RequestContext?,django,django-templates,django-generic-views,django-context,Django,Django Templates,Django Generic Views,Django Context,我似乎无法访问django模板中的请求对象 以下是my settings.py文件的一部分: import django.conf.global_settings as DEFAULT_SETTINGS TEMPLATE_CONTEXT_PROCESSOR = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + ( 'django.core.context_processors.request', ) url.py urlpatterns =

我似乎无法访问django模板中的请求对象

以下是my settings.py文件的一部分:

import django.conf.global_settings as DEFAULT_SETTINGS
TEMPLATE_CONTEXT_PROCESSOR = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS + (
    'django.core.context_processors.request',
)
url.py

urlpatterns = patterns('',
    url(r'^event/create/$', EventCreateView.as_view(), name='create_event'),
    url(r'^event/update/(?P<pk>\d+)/$', EventUpdateView.as_view(), name='update_event'),
    url(r'^event/delete/(?P<pk>\d+)/$', EventDeleteView.as_view(), name='delete_event'),
)
forms.py

from django.forms import ModelForm
from events.models import Event

class EventForm(ModelForm):
    class Meta:
        model = Event
event_form.html(用于CreateView/UpdateView)

{%block content%}
{%csrf_令牌%}
{{form.as_table}}
{%endblock%}
上面的request.session似乎什么都没做。我试着查看文档和类似的问题,但似乎没有任何效果。有什么想法吗


提前感谢。

您是否使用Django的会话框架?然后是的,
request.session
将不起任何作用,因为会话是一个类似dict的对象,模板引擎不知道如何呈现它。

您有一个输入错误,模板上下文处理器末尾缺少一个“S”,这可能只是您的问题?设置应为:

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",)

,而不是
模板\u上下文\u处理器=…
。我更喜欢完全覆盖设置,以便清楚哪些是活动的(例如,您可能希望在生产中禁用调试)

request.session的类型为dictionary,而不是URL。form action=“”需要是一条路径。是的。我的意思是请求。获取完整路径。很抱歉现在有什么想法吗?我不太了解基于类的视图。但希望这有帮助:这有助于我理解基于类的视图,但我仍然看不出{{request.get_full_path}}没有理由不输出完整路径!不过,谢谢你的帮助。对不起,弄错了。我的意思是请求。获取完整路径。我会编辑的。
{% block content %}
    <form action='{{ request.get_full_path }}' method='post'>
        {% csrf_token %}
        <table>
            {{ form.as_table }}
        </table>
        <input type='submit' value='Create event!' />
    </form>
{% endblock %}
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",)