【发布时间】:2017-02-18 12:59:34
【问题描述】:
我写在results.html中,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Score</title>
</head>
<body>
<h1>Score</h1>
<h2>Your score is {{ scoreresults.result }}</h2>
</body>
</html>
但是现在,<h2>Your score is {{ user.result }}
</h2> 的这部分 {{ user.result }} 在我的浏览器中是空白的。
我写在models.py中
from django.db import models
from django.contrib.auth.models import User
class ImageAndUser(models.Model):
user = models.ForeignKey("auth.User", verbose_name="imageforegin")
result = models.CharField(max_length=64, null=True)
def __str__(self):
return '{} {}'.format(self.user,self.id)
所以,ImageAndUser 模型有结果数据。 我无法理解如何在 results.html 中指定 ImageAndUser 模型。 此外, 我写在serializer.py中
from .forms import UserImageForm
from rest_framework import serializers
from .models import ImageAndUser
class ImageSerializer(serializers.ModelSerializer):
class Meta:
model = ImageAndUser
fields =(
'image',
'result',
'user',
'id',
)
read_only_fields = (
'user',
)
def create(self, attrs):
attrs['user'] = self.context.get('request').user
print(attrs)
return super(ImageSerializer,self).create(attrs)
现在,我在views.py中写了
def scoreresults(request):
d = {
'scoreresults': ImageAndUser.objects.result(),
}
return render(request, 'registration/accounts/results.html', d)
在 urls.py 中
from django.conf.urls import url
from . import views
from django.views.generic import TemplateView
urlpatterns = [
url(r'^scoreresults$', TemplateView.as_view(template_name='registration/accounts/results.html'),
name='tcresults'),
]
但它不起作用。
那么,我该如何解决这个问题?
【问题讨论】:
-
你能展示一下你的观点吗?
-
我没有在views.py中写任何与results.html相关的东西
-
那么,您的 html 模板何时以及如何使用?
-
哦,真的吗?那么,我应该在 views.py 中写什么?
-
.tc()方法是什么?为什么你发布了一个呈现完全不同模板的视图?序列化程序与任何事情有什么关系?你的网址是什么样的?你实际上要去哪个网址?