cheesy/moku/views/user.py
2024-03-25 10:36:10 +00:00

34 lines
976 B
Python

from django.shortcuts import redirect
from django.views.generic import FormView, TemplateView
from moku.forms.user import ProfileForm, UserForm
from moku.models.user import User
class EditProfileView(FormView):
template_name = "moku/profile/edit.jinja"
form_class = ProfileForm
def form_valid(self, form):
form.save()
return redirect("profile", username=form.instance.username)
def get_form(self):
return self.form_class(instance=self.request.user, **self.get_form_kwargs())
class ProfileView(TemplateView):
template_name = "moku/profile/show.jinja"
def get_context_data(self, **kwargs):
user = User.objects.get(username=self.kwargs.get("username"))
return {
**super().get_context_data(**kwargs),
"user": user,
"posts": user.posts.order_by("-created_at").all(),
}
class SignupView(FormView):
template_name = "moku/signup.jinja"
form_class = UserForm