Django故障处理标签

2024-10-01 22:44:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在理解包含标签的行为时遇到了一些问题。你知道吗

我有以下相关文件

你知道吗基本.html(基础模板)

<!DOCTYPE html>
<html lang="en">

{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'tags/style.css' %}">

{% load my_tags %}

<head>
    <div class="back">
        <h1> Flux </h1>
        <hr>
    </div>
</head>

{% block sidebar %}
{% endblock %}

{% block eventlist %}   
{% endblock %}

{% sidebar %}

</body>
</html>

你知道吗开始.html(目前什么也不做)

{% extends "base.html" %}

你知道吗视图.py你知道吗

def start(request):
    return render_to_response("tags/start.html",{},
                              context_instance=RequestContext(request))

我的_标签.py(我的包含标签SeeTagForm只是一个textfield表单)

@register.inclusion_tag("tags/sidebar.html",takes_context=True)
def sidebar(context):
    seetagform = SeeTagForm()
    return {"seetagform":seetagform}

你知道吗侧边栏.html你知道吗

<form action="" method="POST">
    {% for error in seetagform.name.errors %}
    <p> {{ error }} </p>
    {% endfor %}
    {% csrf_token %}
    <button class="btn" type="submit" name="seetag">See</button>
    {{ seetagform.name }}
</form>

现在我有一小串疑问:

1-既然我的标记中有takes_context=Truecontext参数有哪些成员?你知道吗

2-更具体地说,我如何处理从/通过我的标记提交的数据,也就是说,我可以在sidebar(context)内部执行request = context["request"],以便检查输入是否正确?你知道吗

3-要做前面的任何一项,我必须在设置.py?你知道吗

4-是否有可能(和良好的实践)处理包含标签中的表单,或者我应该使用另一个视图来处理它?如果是,怎么做?你知道吗

提前谢谢


Tags: namepydivrequesthtmltypecontexttags
1条回答
网友
1楼 · 发布于 2024-10-01 22:44:04

上下文将包含外部上下文所具有的所有元素。 如果已安装“django.core.u处理器.request“上下文处理器您的上下文将包含请求。 默认情况下,TEMPLATE_CONTEXT_PROCESSORS中未安装此处理器。你知道吗

一般来说,我认为在包含标记中处理表单是个坏主意。 很难想象这样做会有什么好处

在基于类的视图中,您将有一个单独的post方法来处理表单提交。 在视图函数中,您可以在单独的函数中分离窗体处理,也可以内联处理它。你知道吗

通常希望在提交有效表单后将用户重定向回相同的url,以除去POST数据。包含标签不起作用。你知道吗

在一些地方,比如类基视图,django使用TemplateResponse而不是HttpResponse作为视图的返回。TemplateResponse是尚未呈现的模板。它是在处理了中间件之后呈现的。中间件可以 通过替换来忽略原始响应。这样原始的tempalte就永远不会被呈现,这意味着包含标签中的表单永远不会被验证。你知道吗

相关问题 更多 >

    热门问题