From 89e01c60efdcb6eb5151370e2b211fbf2a844de5 Mon Sep 17 00:00:00 2001 From: Nishanth Amuluru Date: Fri, 7 Jan 2011 11:42:34 +0530 Subject: created view for editing profile and created corresponding template --- profile/forms.py | 6 +++++- profile/forms.pyc | Bin 3317 -> 3845 bytes profile/urls.py | 3 ++- profile/views.py | 31 ++++++++++++++++++++++++++++++- 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/profile/forms.py b/profile/forms.py index ed4b455..e1662b8 100644 --- a/profile/forms.py +++ b/profile/forms.py @@ -1,4 +1,3 @@ - import os import PIL @@ -82,3 +81,8 @@ class CustomRegistrationForm(RegistrationFormUniqueEmail): return new_user +class EditProfileForm(forms.ModelForm): + + class Meta: + model = Profile + fields = ['aboutme', 'gender', 'dob', 'address', 'phonenum'] diff --git a/profile/forms.pyc b/profile/forms.pyc index 657cbf5..a9a5609 100644 Binary files a/profile/forms.pyc and b/profile/forms.pyc differ diff --git a/profile/urls.py b/profile/urls.py index b13cc25..a577d56 100644 --- a/profile/urls.py +++ b/profile/urls.py @@ -1,9 +1,10 @@ from django.conf.urls.defaults import * -from pytask.profile.views import view_profile +from pytask.profile.views import view_profile, edit_profile urlpatterns = patterns('', (r'view', view_profile), + (r'edit', edit_profile), ) diff --git a/profile/views.py b/profile/views.py index d0840fe..68e22d0 100755 --- a/profile/views.py +++ b/profile/views.py @@ -1,15 +1,44 @@ from django.shortcuts import render_to_response, redirect from django.contrib.auth.decorators import login_required +from django.core.context_processors import csrf +from django.views.decorators.csrf import csrf_protect + +from pytask.profile.forms import EditProfileForm @login_required def view_profile(request): user = request.user - profile = user.get_profile() context = {"user": user, "profile": profile, } return render_to_response("profile/view.html", context) + +@login_required +def edit_profile(request): + + user = request.user + profile = user.get_profile() + + context = {"user": user, + "profile": profile, + } + + context.update(csrf(request)) + + if request.method == "POST": + form = EditProfileForm(request.POST, instance=profile) + + if form.is_valid(): + form.save() + return redirect("/accounts/profile/view") + else: + context.update({"form":form}) + return render_to_response("profile/edit.html", context) + else: + form = EditProfileForm(instance=profile) + context.update({"form":form}) + return render_to_response("profile/edit.html", context) -- cgit