5

我在 Windows Vista 上使用 Python 2.7 在 Django 1.5 中编程。我正在尝试创建用户配置文件。但是,当我访问 localhost:8000/admin/home/userprofile 时,我得到了 1146,“Table 'demo.home_userprofile' 不存在错误。现在我有models.py

from django.db import models
from django.contrib.auth.models import User
# Create your models here.

class userProfile(models.Model):

    def url(self, filename):
        ruta = "MultimediaData/Users/$s/%s"%(self.user.username, filename)
        return ruta

    user = models.OneToOneField(User)
    photo = models.ImageField(upload_to = url)
    telefono = models.CharField(max_length = 30)

    def __unicode__(self):
        return self.user.username

Django页面指向not all arguments converted during string formatting我的错误。这是一个允许用户上传图片和电话号码的页面。似乎是什么问题?

4

2 回答 2

6

改变:

ruta = "MultimediaData/Users/$s/%s"%(self.user.username, filename)

至:

ruta = "MultimediaData/Users/%s/%s"%(self.user.username, filename)
#                            ^ Notice the sign change

您似乎使用了 a$而不是 a %,这就是问题所在。

于 2013-03-17T01:11:25.327 回答
4

为了使其与 Python 2 或 3 兼容...

ruta = "MultimediaData/Users/{0}/{1}".format(self.user.username, filename)
于 2013-03-17T01:35:42.220 回答