我想在用户创建测验后(添加标题后)将用户重定向到 AddQuestionsView
。
我的创建测验
class CreateQuizzView(CreateAPIView):
serializer_class = CreateQuizSerializer
我的serializers.py文件
class CreateQuizSerializer(serializers.ModelSerializer):
class Meta:
model = Quizzer
fields = ['title']
def create(self, validated_data):
user = self.context['request'].user
new_quiz = Quizzer.objects.create(
user=user,
**validated_data
)
return new_quiz
我可以通过添加任何 Mixin 来添加重定向吗?或者更改需要更改 GenericView。
最佳答案
浏览器通常APIView
不使用,或者至少不直接使用,因此重定向没有多大意义。这个想法是一些程序发出 HTTP 请求,从而检索响应。大多数 API 处理程序默认情况下都不会遵循重定向。
但是,您可以通过重写 post
方法来进行重定向:
from django.shortcuts import redirect
class CreateQuizzView(CreateAPIView):
serializer_class = CreateQuizSerializer
def post(self, *args, **kwargs):
super().post(*args, **kwargs)
<b>return redirect('<i>name-of-the-view</i>')</b>
关于python - 添加重定向到 CreateAPIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65494102/