📅  最后修改于: 2023-12-03 14:57:19.868000             🧑  作者: Mango
在 Django 中,表单是 Web 开发中的重要组成部分。本文将介绍 Django 中的表单模板示例,帮助开发者更好的理解 Django 的表单。
首先我们需要一个表单模板,这里以登录表单为例:
<form method="POST" action="{% url 'login' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">登录</button>
</form>
注:{% url 'login' %}
会自动填充登录页面的 URL。
在 Django 中,每个表单都需要自己的视图,这里以 Django FormView 为例:
from django.views.generic.edit import FormView
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth import login
from django.urls import reverse_lazy
class LoginView(FormView):
template_name = 'login.html'
form_class = AuthenticationForm
success_url = reverse_lazy('home')
def form_valid(self, form):
login(self.request, form.get_user())
return super().form_valid(form)
注:AuthenticationForm
是 Django 自带的登录表单。
最后是 URL 配置,将视图绑定到 URL 上:
from django.urls import path
from .views import LoginView
urlpatterns = [
path('login/', LoginView.as_view(), name='login'),
]
至此,我们就完成了一个登录表单的 Django 应用。
Markdown 代码片段:
# 表单的 Django 模板示例 - Python
在 Django 中,表单是 Web 开发中的重要组成部分。本文将介绍 Django 中的表单模板示例,帮助开发者更好的理解 Django 的表单。
## 表单模板
首先我们需要一个表单模板,这里以登录表单为例:
```html
<form method="POST" action="{% url 'login' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">登录</button>
</form>
注:{% url 'login' %}
会自动填充登录页面的 URL。
在 Django 中,每个表单都需要自己的视图,这里以 Django FormView 为例:
from django.views.generic.edit import FormView
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth import login
from django.urls import reverse_lazy
class LoginView(FormView):
template_name = 'login.html'
form_class = AuthenticationForm
success_url = reverse_lazy('home')
def form_valid(self, form):
login(self.request, form.get_user())
return super().form_valid(form)
注:AuthenticationForm
是 Django 自带的登录表单。
最后是 URL 配置,将视图绑定到 URL 上:
from django.urls import path
from .views import LoginView
urlpatterns = [
path('login/', LoginView.as_view(), name='login'),
]
至此,我们就完成了一个登录表单的 Django 应用。