我在models.py中创建了一个自定义模型
class UserProfile(models.Model):
#required by the auth model
user = models.OneToOneField(User, on_delete=models.CASCADE)
NativeLanguage = models.CharField(max_length=100)
LearningLanguage = models.CharField(max_length=100)
还在admin.py中创建了一个内联,如下所示:
class ProfileInline(admin.StackedInline):
model = UserProfile
can_delete = False
verbose_name_plural = 'UserProfile'
# Define a new User admin
class UserAdmin(BaseUserAdmin):
inlines = (ProfileInline, )
# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
我可以在管理员应用程序中提供这两个新字段值,但是当我尝试在我的html中调用它们时,我不知道如何引用它们。
<p align="center">Native Language: {{????}}</p>
它必须是简单的东西,但我似乎无法得到它。
答案 0 :(得分:0)
首先从view.py获取html页面呈现 你必须从视图发送本地语言的值到HTML页面 在视图中从模型中检索本地语言..
在views.py ::
中from .models import (model class name)
data = model class name.objects.all().values('NativeLanguage')
return render(request, 'html page', {"data":data})
这样的事情会将数据从数据库呈现到html页面
然后在html页面
<p align="center">Native Language: {{data}}</p>
答案 1 :(得分:0)
首先,模型字段名称应为小写下划线:
class UserProfile(models.Model):
...
user = models.OneToOneField(User, related_name='profile')
native_language = models.CharField(max_length=100)
稍后在模板或视图中的任何位置:
{{ user.profile.native_language }}