无法在配置文件模板上显示登录用户配置文件详细信息?

2024-06-08 07:50:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚到django;我无法在模型的配置文件模板上显示当前登录用户的详细信息。当我尝试使用Maas.objects.all()时,我也会得到所有现有用户的数据。我只需要显示模板上的当前登录用户数据。当我尝试使用Maas.objects.get(username=username)时,我得到一个错误

Type error: Maas.testapp.models doesn't exist match query

我的视图.py

def maas(request,maas_username_slug):
    context_dict = {}

    try:
        maas = Maas.objects.get(slug=maas_username_slug)
        context_dict['maas_username'] = maas.username
        context_dict['maas_username_slug'] = maas_username_slug
        context_dict['maas_phone'] = maas.phone
        context_dict['maas_firstname'] = maas.firstname
        context_dict['maas_lastname'] = maas.lastname
        context_dict['maas_location'] = maas.location
        context_dict['date_of_birth'] = maas.date_of_birth
        context_dict['comments'] = maas.comments
        context_dict['maas_gender'] = maas.gender
        context_dict['photo'] = maas.photo
        context_dict['maas'] = maas
    except Maas.DoesNotExist:
        pass
    print(context_dict)
    return render(request, 'testapp/profile.html', context_dict)

Myprofile.html

 <!DOCTYPE html>
{%extends 'testapp/base.html'%}
{%block body_block%}


 <h1>Profile page</h1>

 <h1>{{ maas_username }}</h1>
    <li>Phone: {{ maas_phone }} </li>
    <li>firstname: {{ maas_firstname }} </li>
    <li>lastname: {{ maas_lastname }} </li>
    <li> gender: {{ maas_gender }} </li>
    <li> Comments: {{ comments }} </li>
 {%endblock%}

我的型号.py

from django.db import models
from django.template.defaultfilters import slugify
from django.contrib.auth.models import User
class Maas(models.Model):
    username=models.CharField(max_length=25)
    password = models.CharField(max_length=50)
    phone = models.IntegerField(default=0)
    firstname = models.CharField(max_length=40, blank=True)
    lastname = models.CharField(max_length=40, blank=True)
    location = models.CharField(max_length=40, blank=True)
    email = models.EmailField(blank=True)
    date_of_birth = models.DateField(null=True, blank=True)
    gender = models.CharField(max_length=10, blank=True)
    comments = models.CharField(max_length=500, blank=True)
    photo = models.ImageField(upload_to='media/photos/', null=True, 
    blank=True)
    slug = models.SlugField(unique=True,default="")

    def __str__(self):
       return self.username


    def save(self, *args, **kwargs):
            self.slug = slugify(self.username)
            super(Maas, self).save(*args, **kwargs)

     def __unicode__(self):
            return self.username
class UserProfile(models.Model):
    user = models.OneToOneField(User)
    nickname = models.CharField(max_length=20, blank=True)
    def __unicode__(self):
       return self.user.username

我的url.py

urlpatterns = [
            url(r'(?P<maas_username_slug>\w+)/$', views.maas, 
            name='profile'),
 ]

未获取任何错误,但未在profile.html上显示数据


Tags: selftruemodelsdefcontextusernamelilength