python安装django user_python – 如何使用Django显示用户配置文件?

我是django的新手,我目前正在尝试建立一个允许用户登录并查看其他用户个人资料的网站.到目前为止,我已设法让用户登录,但我无法弄清楚如何查看其他人的个人资料.

每个配置文件都使用用户名为其个人资料创建网址.目前,如果我以一个用户身份登录并将URL更改为另一个用户配置文件URL,则它仍会显示当前用户配置文件.我想要类似于pinterest的东西,任何人无论是否登录都可以查看人物档案.

任何帮助,将不胜感激!

视图

from django.http import HttpResponse

from django.shortcuts import render

from howdidu.forms import UserProfileForm

from howdidu.models import UserProfile

from django.contrib.auth.decorators import login_required

from django.shortcuts import get_object_or_404

from django.contrib.auth.models import User

def index(request):

context_dict = {'boldmessage': "I am bold font from the context"}

return render(request, 'howdidu/index.html', context_dict)

#user profile form

@login_required

def register_profile(request):

profile = UserProfile.objects.get(user=request.user)

if request.method == 'POST':

form = UserProfileForm(request.POST, request.FILES, instance=profile)

if form.is_valid():

form.save()

return index(request)

else:

print form.errors

else:

form = UserProfileForm()

return render(request, 'howdidu/register_profile.html', {'form': form})

#profile page using user name as url

@login_required

def profile_page(request, username):

user = get_object_or_404(User, username=username)

return render(request, 'howdidu/profile.html', {'profile_user': user})

项目网址

from django.conf.urls import patterns, include, url

from django.contrib import admin

from django.conf import settings

from registration.backends.simple.views import RegistrationView

class MyRegistrationView(RegistrationView): #redirects to home page after registration

def get_success_url(self,request, user):

return '/register_profile'

urlpatterns = patterns('',

# Examples:

# url(r'^$', 'howdidu_project.views.home', name='home'),

# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),

url(r'', include('howdidu.urls')),

url(r'^accounts/register/$', MyRegistrationView.as_view(), name='registration_register'), #redirects to home page after registration

(r'^accounts/', include('registration.backends.simple.urls')),

url(r'^(?P\w+)/', include('howdidu.urls')), #do i need this?

)

# media

if settings.DEBUG:

urlpatterns += patterns(

'django.views.static',

(r'^media/(?P.*)',

'serve',

{'document_root': settings.MEDIA_ROOT}), )

应用网址

from django.conf.urls import patterns, url

from howdidu import views

urlpatterns = patterns('',

url(r'^$', views.index, name='index'),

url(r'^register_profile/$', views.register_profile, name='register_profile'),

url(r'^(?P\w+)/$', views.profile_page, name='user_profile'),

)

模板

{% extends 'howdidu/base.html' %}

{% load staticfiles %}

{% block title %}{{ user.username }}{% endblock %}

{% block body_block %}

{% if user.is_authenticated %}

{{ user.username }} welcome to your profile page

{{ user.userprofile.first_name }}

{{ user.userprofile.second_name }}

{{ user.userprofile.user_country }}

{% endif %}

{% endblock %}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值