首先,定义一个简单的Django表单:
# forms.py
from django import forms
class MyForm(forms.Form):
name = forms.CharField(label='Your Name', max_length=100)
email = forms.EmailField(label='Your Email')
message = forms.CharField(label='Your Message', widget=forms.Textarea)
然后,创建一个视图以及相应的HTML模板来渲染表单:
# views.py
from django.shortcuts import render
from .forms import MyForm
def my_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
# 处理有效的表单数据
name = form.cleaned_data['name']
email = form.cleaned_data['email']
message = form.cleaned_data['message']
# 进行其他操作,例如保存到数据库
# 清空表单
form = MyForm()
else:
form = MyForm()
return render(request, 'my_template.html', {'form': form})
接下来,在my_template.html中使用HTML代码渲染表单:
<!-- my_template.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Form</title>
</head>
<body>
<h1>My Form</h1>
<form method="post" action="{% url 'my_view' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
</body>
</html>
在这个例子中,{{ form.as_p }} 用于将表单渲染为HTML段落形式,你还可以使用 {{ form.as_table }} 或 {{ form.as_ul }} 来渲染为表格或无序列表形式。按钮标签用于提交表单。
确保在表单的<form>标签中包含 {% csrf_token %} 来保护你的应用免受跨站请求伪造(CSRF)攻击。
这只是一个简单的例子,你可以根据需要自定义HTML模板,使用CSS样式进行美化,并添加JavaScript来增强用户交互。
转载请注明出处:http://www.zyzy.cn/article/detail/7243/Django