欢迎访问宙启技术站
智能推送

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.htmlsuccess.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/时,将显示带有星级评分控件的表单。用户可以拖动滑块选择评分,并点击提交按钮。提交后,用户将被重定向到一个显示其评分的成功页面。

这是一个简单的示例,可以根据您的需求进行扩展和定制。您可以对模板、表单和视图进行更多的自定义,以满足您的特定要求。