Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “怎么做?”;返回渲染(请求“路径/路径”);在Django工作?_Python_Html_Django_Django Templates - Fatal编程技术网

Python “怎么做?”;返回渲染(请求“路径/路径”);在Django工作?

Python “怎么做?”;返回渲染(请求“路径/路径”);在Django工作?,python,html,django,django-templates,Python,Html,Django,Django Templates,请解释“return render(request,'path/path')”如何在django中的任何特定views.py文件中一步一步地工作 MYcode:(views.py) 代码:(registration.html) {%extensed“basic\u app/basic.html”%} {%load staticfiles%} {%block body_block%} {%如果已注册%} 谢谢您的注册! {%else%} 在这里注册! {{user_form.as_p} {{pro

请解释“return render(request,'path/path')”如何在django中的任何特定views.py文件中一步一步地工作

MYcode:(views.py)

代码:(registration.html)

{%extensed“basic\u app/basic.html”%}
{%load staticfiles%}
{%block body_block%}
{%如果已注册%}
谢谢您的注册!
{%else%}
在这里注册!
{{user_form.as_p}
{{profile_form.as_p}
{%csrf_令牌%}
{%endif%}
{%endblock%}

还要解释:views.py中“return”语句中定义的字典是如何逐步工作的。

Django web应用程序通常将处理这些步骤的代码分组到单独的文件中:

URL:虽然可以通过单个函数处理来自每个URL的请求,但编写单独的视图函数来处理每个资源更易于维护。URL映射器用于根据请求URL将HTTP请求重定向到适当的视图。URL映射器还可以匹配URL中出现的字符串或数字的特定模式,并将其作为数据传递给视图函数

视图:视图是一个请求处理函数,它接收HTTP请求并返回HTTP响应。视图通过模型访问满足请求所需的数据,并将响应的格式委托给模板

模型:模型是定义应用程序数据结构并提供管理(添加、修改、删除)和查询数据库记录机制的Python对象

模板:模板是一种文本文件,用于定义文件(如HTML页面)的结构或布局,并使用占位符表示实际内容。视图可以使用HTML模板动态创建HTML页面,用模型中的数据填充该页面。模板可用于定义任何类型文件的结构;它不必是HTML

以下是
return render()
工作流程:

此函数使用render()函数创建发送回浏览器的HttpResponse。这个功能是一个快捷方式;它通过组合指定的HTML模板和一些要插入模板中的数据(在名为“context”的变量中提供)来创建HTML文件。在下一节中,我们将展示模板如何将数据插入其中以创建HTML

有关更多详细信息,请参见。

请阅读:
from django.shortcuts import render
from basic_app.forms import UserForm,UserProfileInfoForm
from . import forms

def index(request):
    return render(request,'basic_app/index.html')

def register(request):
    registered=False
    if request.method=="POST":
        profile_form=UserProfileInfoForm(data=request.POST)
        user_form=UserForm(data=request.POST)
        if profile_form.is_valid() and user_form.is_valid():

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

            profile=profile_form.save(commit=False) 
            profile.user=user

            if 'profile_pic' in request.FILES:
                profile.profile_pic=request.FILES['profile_pic']

            profile.save()
            registered=True
        else:
            print(user_form.errors,profile_form.errors)

    else:
        user_form = UserForm()
        profile_form = UserProfileInfoForm()


    return render(request,'basic_app/registration.html',
                    {'user_form':user_form,
                    'profile_form':profile_form,
                    'registered':registered})
{% extends "basic_app/basic.html" %}
{% load staticfiles %}
{% block body_block %}

<div class="jumbotron">
  {% if registered %}
  <h1>Thank you for registering!</h1>
  {% else %}
  <h1>Register Here!</h1>
  <form enctype="multipart/form-data" method="post">

    {{user_form.as_p}}
    {{profile_form.as_p}}
    {% csrf_token %}
    <input type="submit" name="" value="Register">
  </form>
  {% endif %}

</div>

{% endblock %}

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