我正在使用django 1.9和python 3.我的英语也不是最好的,所以请原谅这个问题,如果它是错误的。
我正在努力使我的网站成为单页应用程序。我需要获取给定模板的{% block %}
内容,然后将其作为HttpResponse发送,以便ajax可以将其拾取并将其注入页面。
我尝试过使用此问题的答案:Django - how to get the contents of a {% block %} tag from a template
但是在尝试在我的视图中获取块的内容时是这样的:
response_data[content] = get_block_source('profile/login.html', 'content')
if request.is_ajax():
return HttpResponse(
json.dumps(response_data),
content_type="application/json"
)
我只是从django得到这个错误,无论我做什么:
未找到/ login /模板块内容时的ValueError
块的内容甚至没有进入ajax调用,是什么给出了?
我将在此处加入“内容”块:
在我的模板中:
{% extends 'base.html' %}
{% block content %}
<div class="big-title text">Log in</div>
<div class="form-container">
<form name="login-form" id="user" method="post" action="/login/" enctype="multipart/form-data" class="text">
{% csrf_token %}
<div class="title">Enter your credentials</div>
<div class="form-row">
<div class="form-flex">
<div class="field-container">
<div class="field-input-container">
<div class="field-label accent">Username</div>
<div class="field-input">
<input class="field-input-element" type="text" name="username" />
</div>
</div>
<div class="field-help">Your username is always lowercase.</div>
</div>
</div>
<div class="form-flex">
<div class="field-container" style="height: 110px">
<div class="field-input-container">
<div class="field-label accent">Password</div>
<div class="field-input">
<input class="field-input-element" type="password" name="password" />
</div>
</div>
<div class="field-help"></div>
</div>
</div>
</div>
<div class="form-button-container">
<div class="form-error"></div>
<div class="form-message"></div>
<input type="submit" name="submit" value="Accept" class="button form-button"/>
</div>
</form>
</div>
{% endblock %}
在我的基地(base.html)
<body>
<div id="modal-container">
<div id="modal-overlay">
<div id="modal-items">
</div>
</div>
</div>
<div id="wrapper">
<header>
<div id="header-title" class="text accent">App name</div>
<div id="header-nav">
<nav>
{% if user.is_authenticated %}
<a href="/" class="text accent">Home</a>
<a href="/feed" class="text accent">Feed</a> {% if request.user.is_superuser %}
<a href="/admin" class="text accent">Admin</a> {% endif %}
<a href="" class="text">N</a>
<a href="/{{ request.user }}" class="header-avatar-small-a">
<div class="text header-greeting">Hi, {{ user.userprofile.display_name }}</div>
<div class="header-avatar-small">
{% if not user.userprofile.avatar == '' %}
<img src="{{ MEDIA_URL }}users/{{ user }}/avatar" alt=""> {% else %}
<img src="{{ MEDIA_URL }}users/avatar" alt=""> {% endif %}
</div>
</a>
{% else %}
<a href="/login" class="text accent">Log in</a>
<a href="/register" class="text accent">Create account</a> {% endif %}
</nav>
</div>
<div class="progress">
<div id="header-progress" class="fill"></div>
</div>
</header>
<main>
{% block content %} {% endblock %}
</main>
<footer></footer>
</div>
</body>
</html>
答案 0 :(得分:0)
模板源是模板实际HTML,而不是文件引用