【发布时间】:2020-08-03 15:48:40
【问题描述】:
抱歉打扰了,我是一名初学者,正在开发我的新项目。
我制作了这个模型,它会在创建用户时创建个人资料:
class ExpertSignUpForm(UserCreationForm):
class Meta(UserCreationForm.Meta):
model = User
@transaction.atomic
def save(self):
user = super().save(commit=False)
user.is_expert = True
user.save()
expert = Expert.objects.create(expert=user)
return user
这就是视图。所以我在这里要做的是签署一个用户,然后将他的权限设置为专家,然后将他登录,我已经完成了但我不能做的是将他重定向到他的专家详细信息/更新登录后立即配置文件。 所以如果你能帮助我。提前谢谢你。
以下是观点:
class ExpertSignUpView(CreateView):
model = User
form_class = ExpertSignUpForm
template_name = 'registration/signup_form.html'
def get_context_data(self, **kwargs):
kwargs['user_type'] = 'expert'
return super().get_context_data(**kwargs)
def form_valid(self, form):
user = form.save()
login(self.request, user)
return redirect('/') <<-------
网址可能会有所帮助
urlpatterns = [
path('',ExpertListView.as_view(), name='list'),
path('Esignup/',ExpertSignUpView.as_view(), name='expert_signup'),
path('Ssignup/',StudentSignUpView.as_view(), name='student_signup'),
path('create/',ExpertCreateView.as_view(), name='create'),
path('<str:pk>/',ExpertDetailView.as_view(), name='detail'),
path('<str:pk>/update/',ExpertUpdateView.as_view(), name='update'),
path('<str:pk>/delete/',ExpertDeleteView.as_view(), name='delete'),
]
【问题讨论】:
标签: python django redirect django-urls