def login(request): context_map = get_base_context_map(request) errorMsg = "" redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '/') form = LoginForm() if request.POST: errorMsg = "登录失败" form = LoginForm(request.POST) if form.is_valid(): #做基本验证外的其他验证 data = form.cleaned_data from django.contrib import auth user = auth.authenticate(username=data['username'],\ password=data['password']) if user is not None: errorMsg = "" auth.login(request, user) #request.session.delete_test_cookie() return HttpResponseRedirect(redirect_to) else: errorMsg = "您输入的用户名或密码不正确,请重试。" #request.session.set_test_cookie() context_map['form'] = form context_map['errorMsg'] = errorMsg return render_to_response('userpanel/login.html', context_map)
def login(request): context_map = get_base_context_map(request) errorMsg = "" redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, "/") form = LoginForm() if request.POST: errorMsg = "登录失败" form = LoginForm(request.POST) if form.is_valid(): # 做基本验证外的其他验证 data = form.cleaned_data from django.contrib import auth user = auth.authenticate(username=data["username"], password=data["password"]) if user is not None: errorMsg = "" auth.login(request, user) # request.session.delete_test_cookie() return HttpResponseRedirect(redirect_to) else: errorMsg = "您输入的用户名或密码不正确,请重试。" # request.session.set_test_cookie() context_map["form"] = form context_map["errorMsg"] = errorMsg return render_to_response("userpanel/login.html", context_map)
def avatar(request): def save_tmp_img(img): import os filename = os.path.join(settings.ROOT_PATH, "tmp_img.tmp") imgfile = open(filename, "wb") for chunk in img.chunks(): imgfile.write(chunk) imgfile.close() return filename context_map = get_base_context_map(request) user = request.user form = AvatarForm() # user.get_profile().__dict__ if request.method == "POST": # if request.POST: form = AvatarForm(request.POST, files=request.FILES) if form.is_valid(): clean_data = form.cleaned_data if clean_data["avatar"]: avatar = clean_data["avatar"] # FIXME move the tmp img tmp_img = save_tmp_img(avatar) upload_avatar(tmp_img, user.id) user.get_profile().avatar = str(user.id) + ".jpg" else: user.get_profile().avatar = "" user.get_profile().save() return HttpResponseRedirect("/space/") context_map["form"] = form return render_to_response("userpanel/avatar.html", context_map)
def avatar(request): def save_tmp_img(img): import os filename = os.path.join(settings.ROOT_PATH, 'tmp_img.tmp') imgfile = open(filename, 'wb') for chunk in img.chunks(): imgfile.write(chunk) imgfile.close() return filename context_map = get_base_context_map(request) user = request.user form = AvatarForm() #user.get_profile().__dict__ if request.method == 'POST': #if request.POST: form = AvatarForm(request.POST, files=request.FILES) if form.is_valid(): clean_data = form.cleaned_data if clean_data['avatar']: avatar = clean_data['avatar'] #FIXME move the tmp img tmp_img = save_tmp_img(avatar) upload_avatar(tmp_img, user.id) user.get_profile().avatar = str(user.id) + '.jpg' else: user.get_profile().avatar = '' user.get_profile().save() return HttpResponseRedirect('/space/') context_map['form'] = form return render_to_response('userpanel/avatar.html', context_map)
def allrecommends(request): context_map = get_base_context_map(request) recommend_photos=RecommendPhoto.objects.all().\ order_by("-create_date") #context_map['recommend_photos']=recommend_photos return object_list(request, recommend_photos, paginate_by=25, template_name='allrecommend.html', extra_context=context_map, allow_empty=True)
def allnewphotos(request): context_map=get_base_context_map(request) new_photos=Photo.objects.all().filter(show_type='s').\ order_by("-create_date") #context_map['new_photos']=new_photos return object_list(request, new_photos, paginate_by=25, template_name='allnewphotos.html', extra_context=context_map, allow_empty=True)
def allhotphotos(request): context_map=get_base_context_map(request) hot_photos=Photo.objects.all().filter(show_type='s').\ order_by("-view_count") #context_map['hot_photos']=hot_photos return object_list(request, hot_photos, paginate_by=25, template_name='allhotphotos.html', extra_context=context_map, allow_empty=True)
def check(request, id): """ 确认图片(添加/编辑后) """ photo = get_object_or_404(Photo, pk=id) user = request.user if photo.show_type == 'h' and not is_superuser(user): raise Http404 context_map = get_base_context_map(request) context_map['photo'] = photo return render_to_response('photos/check.html', context_map)
def allcomments(request): context_map=get_base_context_map(request) comments = PhotoComment.objects.all().filter(show_type='s').\ order_by("-create_date") #context_map['comments']=comments return object_list(request, comments, paginate_by=25, template_name='allcomments.html', extra_context=context_map, allow_empty=True)
def allhotphotos(request): context_map = get_base_context_map(request) hot_photos=Photo.objects.all().filter(show_type='s').\ order_by("-view_count") #context_map['hot_photos']=hot_photos return object_list(request, hot_photos, paginate_by=25, template_name='allhotphotos.html', extra_context=context_map, allow_empty=True)
def allnewphotos(request): context_map = get_base_context_map(request) new_photos=Photo.objects.all().filter(show_type='s').\ order_by("-create_date") #context_map['new_photos']=new_photos return object_list(request, new_photos, paginate_by=25, template_name='allnewphotos.html', extra_context=context_map, allow_empty=True)
def draftbox(request): user = request.user context_map=get_base_context_map(request) send_msgs=user.send_msgs.all().filter(type='d').\ order_by("-modification_date") return object_list(request, send_msgs, paginate_by=99999, template_name='msgbox/draftbox.html', extra_context=context_map, allow_empty=True)
def allrecommends(request): context_map=get_base_context_map(request) recommend_photos=RecommendPhoto.objects.all().\ order_by("-create_date") #context_map['recommend_photos']=recommend_photos return object_list(request, recommend_photos, paginate_by=25, template_name='allrecommend.html', extra_context=context_map, allow_empty=True)
def allcomments(request): context_map = get_base_context_map(request) comments = PhotoComment.objects.all().filter(show_type='s').\ order_by("-create_date") #context_map['comments']=comments return object_list(request, comments, paginate_by=25, template_name='allcomments.html', extra_context=context_map, allow_empty=True)
def signup(request, next_page=None): context_map = get_base_context_map(request) form = SignupForm() if request.POST: form = SignupForm(request.POST) if form.is_valid(): user_obj = form.save() from django.contrib import auth auth.login(request, user_obj) return HttpResponseRedirect(next_page or '/') context_map['form'] = form return render_to_response('userpanel/signup.html', context_map)
def check(request, id): """ 确认图片(添加/编辑后) """ photo=get_object_or_404(Photo, pk=id) user = request.user if photo.show_type=='h' and not is_superuser(user): raise Http404 context_map=get_base_context_map(request) context_map['photo']=photo return render_to_response('photos/check.html', context_map)
def signup(request, next_page=None): context_map = get_base_context_map(request) form = SignupForm() if request.POST: form = SignupForm(request.POST) if form.is_valid(): user_obj = form.save() from django.contrib import auth auth.login(request, user_obj) return HttpResponseRedirect(next_page or "/") context_map["form"] = form return render_to_response("userpanel/signup.html", context_map)
def outbox(request): user = request.user context_map=get_base_context_map(request) send_msgs=user.send_msgs.all().filter(type='s').\ order_by("-modification_date") if request.POST: ids=request.POST.getlist('ids') remove_msgs(ids, user) return object_list(request, send_msgs, paginate_by=99999, template_name='msgbox/outbox.html', extra_context=context_map, allow_empty=True)
def index(request): context_map = get_base_context_map(request) hot_photos=Photo.objects.all().filter(show_type='s').\ order_by("-view_count")[:8] context_map['hot_photos'] = hot_photos new_photos=Photo.objects.all().filter(show_type='s').\ order_by("-create_date")[:8] context_map['new_photos'] = new_photos recommend_photos=RecommendPhoto.objects.all().\ order_by("-create_date")[:4] context_map['recommend_photos'] = recommend_photos from oldphoto.tag.views import list_tags context_map['side_tags'] = list_tags() return render_to_response('index.html', context_map)
def edit(request): context_map = get_base_context_map(request) user = request.user form = EditForm(user.get_profile().__dict__) if request.POST: form = EditForm(request.POST) if form.is_valid(): data = form.cleaned_data user.get_profile().gender = data['gender'] user.get_profile().blog = data['blog'] user.get_profile().intro = data['intro'] user.get_profile().save() return HttpResponseRedirect('/space/') context_map['form'] = form return render_to_response('userpanel/edit.html', context_map)
def edit(request): context_map = get_base_context_map(request) user = request.user form = EditForm(user.get_profile().__dict__) if request.POST: form = EditForm(request.POST) if form.is_valid(): data = form.cleaned_data user.get_profile().gender = data["gender"] user.get_profile().blog = data["blog"] user.get_profile().intro = data["intro"] user.get_profile().save() return HttpResponseRedirect("/space/") context_map["form"] = form return render_to_response("userpanel/edit.html", context_map)
def index(request): context_map=get_base_context_map(request) hot_photos=Photo.objects.all().filter(show_type='s').\ order_by("-view_count")[:8] context_map['hot_photos']=hot_photos new_photos=Photo.objects.all().filter(show_type='s').\ order_by("-create_date")[:8] context_map['new_photos']=new_photos recommend_photos=RecommendPhoto.objects.all().\ order_by("-create_date")[:4] context_map['recommend_photos']=recommend_photos from oldphoto.tag.views import list_tags context_map['side_tags']=list_tags() return render_to_response('index.html', context_map)
def updatepswd(request, next_page=None): """ 修改密码 """ context_map = get_base_context_map(request) next_page = '/' u = request.user form = UpdatePswdForm() if request.POST: form = UpdatePswdForm(request.POST, u) if form.is_valid(): u.set_password(form.cleaned_data['new_pswd']) u.save() return HttpResponseRedirect('/space/') context_map['form'] = form return render_to_response('userpanel/updatepswd.html', context_map)
def reply_message(request, msg_id): user = request.user context_map=get_base_context_map(request) msg=get_object_or_404(Message, pk=msg_id) if msg.rec_user!=user and msg.send_user!=user: return HttpResponseRedirect('/msgbox/inbox/') context_map['to_user']=msg.send_user context_map['title']='RE:'+msg.title #friends=get_friends(user) form=ComposeMessageForm(\ {'title':'RE:'+msg.title, 'rec_user': msg.send_user.id,\ 'content':get_reply_message(msg)},\ friends=(msg.send_user,)) context_map['form']=form return render_to_response('msgbox/compose_message.html', context_map)
def updatepswd(request, next_page=None): """ 修改密码 """ context_map = get_base_context_map(request) next_page = "/" u = request.user form = UpdatePswdForm() if request.POST: form = UpdatePswdForm(request.POST, u) if form.is_valid(): u.set_password(form.cleaned_data["new_pswd"]) u.save() return HttpResponseRedirect("/space/") context_map["form"] = form return render_to_response("userpanel/updatepswd.html", context_map)
def view_photo(request, id): """ 查看图片 """ photo = get_object_or_404(Photo, pk=id) user = request.user if photo.show_type == 'h' and not is_superuser(user): raise Http404 context_map = get_base_context_map(request) #TODO 评论翻页 comments = photo.photocomment_set.all() if not is_superuser(user): comments = comments.filter(show_type='s') user_s_other_photo = photo.user.photo_set.all() if not is_superuser(user): user_s_other_photo = user_s_other_photo.filter(show_type='s') user_s_other_photo = user_s_other_photo.order_by("-create_date")[0:8] form = PhotoCommentForm() if request.method == 'POST': """ 添加评论 """ #TODO 登录判断 if user.is_anonymous(): return HttpResponseRedirect('/photos/%s/#beginComment' % id) form = PhotoCommentForm(request.POST, photo=photo, author=user) if form.is_valid(): form.save() return HttpResponseRedirect('/photos/%s/#beginComment' % id) else: photo.view_count = photo.view_count + 1 photo.save() context_map['form'] = form context_map['photo'] = photo context_map['user_s_other_photo'] = user_s_other_photo context_map['comments'] = comments context_map['user'] = user #TODO 查看图片是否已经收藏过了 context_map['has_collection'] = get_count( """ select count(*) from userpanel_collectionphoto uc where uc.photo_id=%s and uc.user_id=%s """, [photo.id, user.id]) if user == photo.user or is_superuser(user): context_map['can_edit'] = True return render_to_response('photos/view_photo.html', context_map)
def view_photo(request, id): """ 查看图片 """ photo=get_object_or_404(Photo, pk=id) user = request.user if photo.show_type=='h' and not is_superuser(user): raise Http404 context_map=get_base_context_map(request) #TODO 评论翻页 comments=photo.photocomment_set.all() if not is_superuser(user): comments=comments.filter(show_type='s') user_s_other_photo = photo.user.photo_set.all() if not is_superuser(user): user_s_other_photo = user_s_other_photo.filter(show_type='s') user_s_other_photo = user_s_other_photo.order_by("-create_date")[0:8] form = PhotoCommentForm() if request.method == 'POST': """ 添加评论 """ #TODO 登录判断 if user.is_anonymous(): return HttpResponseRedirect('/photos/%s/#beginComment' % id) form = PhotoCommentForm(request.POST,photo=photo,author=user) if form.is_valid(): form.save() return HttpResponseRedirect('/photos/%s/#beginComment' % id) else: photo.view_count=photo.view_count+1 photo.save() context_map['form']=form context_map['photo']=photo context_map['user_s_other_photo']=user_s_other_photo context_map['comments']=comments context_map['user']=user #TODO 查看图片是否已经收藏过了 context_map['has_collection']=get_count(""" select count(*) from userpanel_collectionphoto uc where uc.photo_id=%s and uc.user_id=%s """, [photo.id, user.id]) if user==photo.user or is_superuser(user): context_map['can_edit']=True return render_to_response('photos/view_photo.html', context_map)
def upload(request): """ 上传图片 """ user = request.user form = PhotoForm() context_map = get_base_context_map(request) if request.POST: form = PhotoForm(request.POST, request.FILES, user) if form.is_valid(): photo = form.save() if photo == None: context_map['form'] = form return render_to_response('photos/upload.html', context_map) return HttpResponseRedirect('/photos/check/%s/' % photo.id) context_map['form'] = form return render_to_response('photos/upload.html', context_map)
def upload(request): """ 上传图片 """ user = request.user form = PhotoForm() context_map=get_base_context_map(request) if request.POST: form = PhotoForm(request.POST, request.FILES, user) if form.is_valid(): photo=form.save() if photo==None: context_map['form']=form return render_to_response('photos/upload.html', context_map) return HttpResponseRedirect('/photos/check/%s/' % photo.id) context_map['form']=form return render_to_response('photos/upload.html', context_map)
def init_context(request, user_id=0, context_map={}): context_map = get_base_context_map(request) user = request.user context_map['user'] = user view_user = user if user_id: view_user = User.objects.get(pk=user_id) context_map['view_user'] = view_user if user.id == view_user.id: context_map['is_self'] = True context_map['r_c'] = PhotoComment.objects.extra( params=[user.id], tables=['photos_photo'], where=['photo_id=photos_photo.id and photos_photo.user_id=%s'])[:5] else: try: friend = Friend.objects.get(user=user, friend=view_user) context_map['friend'] = friend except: pass return context_map, user, view_user
def init_context(request, user_id=0, context_map={}): context_map=get_base_context_map(request) user = request.user context_map['user'] = user view_user = user if user_id: view_user = User.objects.get(pk=user_id) context_map['view_user'] = view_user if user.id==view_user.id: context_map['is_self']=True context_map['r_c'] = PhotoComment.objects.extra( params=[user.id], tables=['photos_photo'], where=['photo_id=photos_photo.id and photos_photo.user_id=%s'])[:5] else: try: friend=Friend.objects.get(user=user,friend=view_user) context_map['friend']=friend except: pass return context_map, user, view_user
def edit(request, id): photo = get_object_or_404(Photo, pk=id) user = request.user if photo.user != user: return HttpResponseRedirect('/photos/check/%s/' % photo.id) context_map = get_base_context_map(request) data = photo.__dict__ from oldphoto.utils.html2text import html2text data['descn'] = html2text(photo.descn) data['txt_tags'] = photo.get_txt_tags() form = PhotoForm(data=data) if request.POST: form = PhotoForm(request.POST, request.FILES, user, photo) if form.is_valid(): photo = form.save() if photo == None: context_map['form'] = form return render_to_response('photos/edit.html', context_map) return HttpResponseRedirect('/photos/check/%s/' % photo.id) context_map['form'] = form context_map['photo'] = photo return render_to_response('photos/edit.html', context_map)
def edit(request, id): photo=get_object_or_404(Photo, pk=id) user = request.user if photo.user!=user: return HttpResponseRedirect('/photos/check/%s/' % photo.id) context_map=get_base_context_map(request) data=photo.__dict__ from oldphoto.utils.html2text import html2text data['descn']=html2text(photo.descn) data['txt_tags']=photo.get_txt_tags() form = PhotoForm(data=data) if request.POST: form = PhotoForm(request.POST, request.FILES, user, photo) if form.is_valid(): photo=form.save() if photo==None: context_map['form']=form return render_to_response('photos/edit.html', context_map) return HttpResponseRedirect('/photos/check/%s/' % photo.id) context_map['form']=form context_map['photo']=photo return render_to_response('photos/edit.html', context_map)
def index(request, tag_id=None): """ 显示指定tag的照片 """ tag = None context_map = get_base_context_map(request) if not tag_id: photos = Photo.objects.all().order_by("-modification_date") else: try: tag = Tag.objects.get(pk=tag_id) except: pass #TODO 转到出错页面 photos=tag.photo_set.all().filter(show_type='s').\ order_by("-modification_date") photos = photos context_map['tag'] = tag context_map['side_tags'] = list_tags() return object_list(request, photos, paginate_by=20, template_name='tags/index.html', extra_context=context_map, allow_empty=True)
def index(request, tag_id=None): """ 显示指定tag的照片 """ tag=None context_map=get_base_context_map(request) if not tag_id: photos=Photo.objects.all().order_by("-modification_date") else: try: tag=Tag.objects.get(pk=tag_id) except: pass#TODO 转到出错页面 photos=tag.photo_set.all().filter(show_type='s').\ order_by("-modification_date") photos=photos context_map['tag']=tag context_map['side_tags']=list_tags() return object_list(request, photos, paginate_by=20, template_name='tags/index.html', extra_context=context_map, allow_empty=True)
def compose_message(request, to_user_id=None): user = request.user context_map=get_base_context_map(request) friends=None if to_user_id: to_user=User.objects.get(pk=to_user_id) context_map['to_user']=to_user friends=((to_user.id, to_user.username),) context_map['user']=user if not friends: friends=get_friends(user) form=ComposeMessageForm(friends=friends) if request.POST: form = ComposeMessageForm(request.POST,friends,user) if form.is_valid(): if request.POST['action']=='save': form.save_draft() return HttpResponseRedirect('/msgbox/draftbox/') if request.POST['action']=='send': form.send() return HttpResponseRedirect('/msgbox/outbox/') context_map['form']=form return render_to_response('msgbox/compose_message.html', context_map)