Logo
Section 1 / 3

新建房源表单

学习如何添加URL路径并为列表页面创建表单。

导入

新建房源表单

学习如何添加URL路径并为列表页面创建表单。

现在我们已经将管理员面板中创建的所有房源信息展示出来了,接下来可以为用户创建一个表单,用于提交他们自己的房源信息。

遵循与创建“首页”相同的流程:URL、表单、视图,然后是模板。如你所见,我们在常规页面创建流程中加入了“表单”这一环节。

新房源的 URL 路径

为了添加“新建房源”页面的路径,在应用文件夹中的 urls.py 文件里添加以下代码:

1path('new_listing/', views.new_listing, name='new_listing')

新房源表单

要添加表单,需要在应用文件夹中创建一个名为 forms.py 的文件。文件创建完成后,应用的文件夹结构应如下图所示。

...
房源应用的文件夹结构

以下是在 forms.py 文件中添加的“新建房源”表单代码:

1from django import forms 2from .models import Listings 3 4class ListingForm(forms.ModelForm): 5 class Meta: 6 model = Listings 7 fields = ['title', 'condition', 'product_type', 'sale_type', 'price', 'main_photo', 'photo_1', 8 'photo_2', 'city', 'state', 'zipcode', 'contact_email', 'list_date']

让我们来了解这段代码的不同组成部分。

在 第1行,我们导入了 Django 提供的 forms 模块。该模块允许我们通过提供 ModelForm 类来创建表单。

在 第2行,我们导入了 Listings 模型,因为我们将会基于这个模型来创建表单,因此需要它的数据。

在 第5行,我们使用 class Meta 来配置表单与模型(Listings)之间的关系。

表单的字段已在上述列表中指定(第7至8行)。注意,我们没有包含 address 字段,因为该信息过于敏感,不适合在线展示。

列表页面

新列表视图和模板