【发布时间】:2019-09-07 21:55:09
【问题描述】:
我创建了一个 FormView 和模板 HTML,我将使用它们来创建和更新模型中的记录。
但是,我无法弄清楚如何将 CreateView 设置为重定向到正在创建的新主键。我目前已将其设置为返回到基本页面,但我似乎找不到任何有关从何处开始获取新主键或现有主键以重定向到 UpdateView 的信息。
models.py
class NewEmployee(models.Model):
name = models.CharField(max_length=50)
position = models.CharField(max_length=50)
start_date = models.DateField()
date_entered = models.DateTimeField('date entered', auto_now_add=True)
forms.py
class NewEmpForm(ModelForm):
class Meta:
model = NewEmployee
fields = ['name', 'position', 'start_date']
views.py
class EditView(UpdateView):
model = NewEmployee
form_class = NewEmpForm
class Add_Emp(CreateView):
model = NewEmployee
form_class = NewEmpForm
urls.py
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('add/', views.Add_Emp.as_view(success_url='../'), name='newemp-add'),
path('<int:pk>/', views.EditView.as_view(success_url="../"), name='newemp-rev'),
]
newemployee_form.html
<DOCTYPE html>
<html>
<head>
<title>Employee</title>
</head>
<body>
<form method="post" >
{% csrf_token %}
{{form.as_p}}
<button type="submit" class="btn btn-default">Submit</button>
</form>
</body>
</html>
【问题讨论】:
标签: django django-forms django-urls django-class-based-views