【问题标题】:While running on Server i am getting HTML code on my browser在服务器上运行时,我在浏览器上获取 HTML 代码
【发布时间】:2020-04-08 07:23:47
【问题描述】:

当我在本地服务器上运行我的 Django 项目时。它正在网页上返回整个 html 代码。

就像在执行命令 python manage.py runserver 并在浏览器上复制和粘贴 url 之后,我得到了整个 HTML 文件代码,而不是我使用过的元素。

我的 HTML 文件

{% extends "wfhApp/base.html" %}
{% block body_block %}

<div class="jumbotron">
  {% if registered %}
  <h1>Thank you for registration</h1>

  {% else %}
  <h1>Register here!</h1>
  <h3>Fill out the form:</h3>

  <form enctype="multipart/form-data" method="post">
    {% csrf_token %}
    {{ user_form.as_p }}

    <input type="submit" name="" value="Register">
  </form>

  {% endif %}
</div>

{% endblock %}

我的意见.py

from django.shortcuts import render
from wfhApp.forms import UserForm

def register(request):

    registered = False

    if request.method == 'POST':
        user_form = UserForm(data = request.POST)

        if user_form.is_valid():

            user = user_form.save()
            user.set_password(user.password)
            user.save()

            registered = True
        else:
            print(user_form.errors)
    else:
        user_form = UserForm

    return render(request, 'wfhApp/registration.html',
                                            {'user_form': user_form},
                                            {'registered': registered})

以上来自模板继承。

【问题讨论】:

  • “它正在返回网页上的整个 html 代码”是什么意思?你的视图代码在哪里?
  • @brunodesthuilliers 我已经添加了我的 views.py 文件。请检查并让我知道我是否缺少任何东西。
  • 好吧,您仍然没有解释“它在网页上返回整个html代码”的意思。
  • 嗯,好吧,我想我知道问题是什么了......
  • 这里不欢迎使用代码图像,但一次截图会让事情更清楚;-)但无论如何,问题解决了。

标签: python html css django python-3.x


【解决方案1】:

不是 101% 确定,因为您没有真正解释“它在网页上返回整个 html 代码”的意思,但在这里:

return render(request, 'wfhApp/registration.html',
                                        {'user_form': user_form},
                                        {'registered': registered})

您没有正确传递模板上下文 - 或者,更准确地说,您将 {'user_form': user_form} 作为上下文传递,{'registered': registered} 作为响应的 content_type 传递(否则将是默认的“text/html”)。

你想要的是(为了可读性分成两行):

context = {
    'user_form': user_form,
    'registered': registered
    }
return render(request, 'wfhApp/registration.html', context)

【讨论】:

    猜你喜欢
    • 2014-08-09
    • 2011-01-09
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    相关资源
    最近更新 更多