在Django社交登录中创建用户限制列表可以通过以下步骤实现:
from django.db import models
class UserRestriction(models.Model):
username = models.CharField(max_length=255, unique=True)
reason = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
在上述模型中,我们定义了用户名、限制原因和创建时间等字段。
@require_POST
来限制只接受POST请求。from django.shortcuts import render, redirect
from django.views.decorators.http import require_POST
from .models import UserRestriction
@require_POST
def user_restriction(request):
username = request.POST.get('username')
reason = request.POST.get('reason')
# 添加用户限制
UserRestriction.objects.create(username=username, reason=reason)
return redirect('user_restriction_list')
def user_restriction_list(request):
restrictions = UserRestriction.objects.all()
return render(request, 'user_restriction_list.html', {'restrictions': restrictions})
在上述代码中,我们通过request.POST.get()
方法获取前端传递的用户名和限制原因,并使用UserRestriction.objects.create()
方法创建用户限制对象。同时,还创建了一个用于展示用户限制列表的视图函数user_restriction_list()
。
<!-- user_restriction_list.html -->
{% for restriction in restrictions %}
<p>用户名:{{ restriction.username }}</p>
<p>限制原因:{{ restriction.reason }}</p>
<p>创建时间:{{ restriction.created_at }}</p>
<hr>
{% empty %}
<p>暂无用户限制。</p>
{% endfor %}
在上述模板文件中,我们使用Django模板语言来展示用户限制列表。
from django.urls import path
from .views import user_restriction, user_restriction_list
urlpatterns = [
path('user-restriction/', user_restriction, name='user_restriction'),
path('user-restriction-list/', user_restriction_list, name='user_restriction_list'),
]
在上述代码中,我们将user_restriction()
视图函数与/user-restriction/
路径进行关联,并将user_restriction_list()
视图函数与/user-restriction-list/
路径进行关联。
至此,我们已经完成了在Django社交登录上创建用户限制列表的过程。用户可以通过访问/user-restriction/
路径来添加用户限制,通过访问/user-restriction-list/
路径来查看用户限制列表。
领取专属 10元无门槛券
手把手带您无忧上云