📜  {{ form.as_ul }} – 将 Django 表单呈现为列表(1)

📅  最后修改于: 2023-12-03 15:21:24.520000             🧑  作者: Mango

以'{{ form.as_ul }} – 将 Django 表单呈现为列表'作主题

在 Django 中,表单是使用 form 类和模板标签来创建的。form.as_ul 是一种方法,可以将 Django 表单呈现为项目符号列表。

优点
  • 省去模板中的大量代码,让模板更加简洁易懂。
  • 表单的渲染方式更加简洁明了,易于维护。
  • 可以方便地进行样式调整,更加美观。
代码示例
第一步:编写表单类
from django import forms

class ContactForm(forms.Form):
    name = forms.CharField(max_length=100)
    email = forms.EmailField()
    message = forms.CharField(widget=forms.Textarea)
第二步:编写视图函数
from django.shortcuts import render
from .forms import ContactForm

def contact_view(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            # 处理表单数据
            pass
    else:
        form = ContactForm()

    context = {'form': form}
    return render(request, 'contact.html', context)
第三步:编写模板
{% extends 'base.html' %}

{% block content %}
  <h1>Contact Us</h1>
  <form method="post">
    {% csrf_token %}
    <ul>
      {{ form.as_ul }}
    </ul>
    <button type="submit">Submit</button>
  </form>
{% endblock %}

通过在模板中使用 {{ form.as_ul }},我们可以将表单呈现为项目符号列表。在这个例子中,我们将表单放在一个 HTML ul 元素中。

总结

使用 {{ form.as_ul }},我们可以快速而简便地将 Django 表单呈现为项目符号列表,省去了大量的代码,更加美观易于维护。