Django中使用Input()控件创建星级评分示例
发布时间:2023-12-16 14:17:53
在Django中使用Input()控件创建星级评分示例,可以采用以下步骤:
1. 创建一个新的Django应用:
$ django-admin startapp ratings
2. 在Django项目的settings.py文件中将新创建的应用添加到INSTALLED_APPS列表中:
INSTALLED_APPS = [
...
'ratings',
...
]
3. 在ratings应用的目录下创建一个新的forms.py文件,用于定义评分表单:
from django import forms
class RatingForm(forms.Form):
rating = forms.IntegerField(
widget=forms.NumberInput(attrs={'type': 'range', 'min': 0, 'max': 5, 'step': 1})
)
4. 在ratings应用的目录下创建一个新的views.py文件,用于处理评分表单的逻辑:
from django.shortcuts import render
from .forms import RatingForm
def rate(request):
form = RatingForm(request.POST or None)
if form.is_valid():
rating = form.cleaned_data.get('rating')
# 在此处进行其他处理,比如保存到数据库
return render(request, 'ratings/success.html', {'rating': rating})
return render(request, 'ratings/rate.html', {'form': form})
5. 在ratings应用的目录下创建一个新的templates文件夹,并在其中创建rate.html和success.html两个模板文件:
- rate.html模板文件:
<form method="post">
{% csrf_token %}
{{ form }}
<button type="submit">Submit</button>
</form>
- success.html模板文件:
<h2>Thank you for rating!</h2>
<p>Your rating: {{ rating }}</p>
6. 在ratings应用的目录下的urls.py文件中定义相应的URL路由规则:
from django.urls import path
from . import views
app_name = 'ratings'
urlpatterns = [
path('', views.rate, name='rate'),
]
7. 将评分应用的URL路由添加到项目的urls.py文件中:
from django.urls import include, path
urlpatterns = [
...
path('ratings/', include('ratings.urls')),
...
]
现在,当您访问/ratings/时,将显示带有星级评分控件的表单。用户可以拖动滑块选择评分,并点击提交按钮。提交后,用户将被重定向到一个显示其评分的成功页面。
这是一个简单的示例,可以根据您的需求进行扩展和定制。您可以对模板、表单和视图进行更多的自定义,以满足您的特定要求。
