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)
我的profile.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
我的网址.py
urlpatterns = [
url(r'(?P<maas_username_slug>\w+)/$', views.maas,
name='profile'),
]
未收到任何错误但未在profile.html上显示数据
解决方案
推荐阅读
- java - 谷歌注销和断开连接不起作用,Facebook登录集成也不起作用
- php - 将具有多个值的多行插入数据库
- sql - 缩进在 SQL 中重要吗?
- android - Android:如何以编程方式创建 xml 文件并向其添加内容
- javascript - 错误:TypeError:未定义不是对象(评估'this.props')。反应原生博览会
- docker - docker-compose pull 命令失败,请求访问被拒绝
- python - 是否可以在 python 3.8 中使用 win32 来按下键盘上的键
- android-studio - IntelliJ IDEA/Android Studio - dart 插件:丢失的覆盖创建错误!这是一个错误吗?
- python - 理解 Keras 的 ImageDataGenerator 类中的 `width_shift_range` 和 `height_shift_range` 参数
- python - 将 ModelFormMixin 与 DetailView 一起使用时出现错误 405