&引用;并非所有参数都在字符串格式化过程中转换;Python Django

&引用;并非所有参数都在字符串格式化过程中转换;Python Django,python,django,Python,Django,我在WindowsVista上用Python2.7用Django1.5编程。我正在尝试创建用户配置文件。然而,当我访问localhost:8000/admin/home/userprofile时,我得到了1146,“表'demo.home\u userprofile'不存在错误。现在我在models.py中有了: from django.db import models from django.contrib.auth.models import User # Create your model

我在WindowsVista上用Python2.7用Django1.5编程。我正在尝试创建用户配置文件。然而,当我访问localhost:8000/admin/home/userprofile时,我得到了1146,“表'demo.home\u 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页面将字符串格式化过程中转换的参数都指向了我。这是一个允许用户上传图片和电话号码的页面。问题出在哪里?

更改:

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


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

要使其与Python 2或3兼容

ruta = "MultimediaData/Users/{0}/{1}".format(self.user.username, filename)

为什么要投否决票?如果你要投否决票,至少要礼貌地告诉他们为什么。我的答案或@volatile的答案绝对没有错。不,只是“$”符号。像这样的小错误。我在Django 1.6中,在同一个views.py文件中,在一个地方,而不是另一个地方,也会遇到同样的错误。我一直盯着e%确保这两个地方都不是一美元,大概有十几次。发疯了。:)如果我弄明白了,我会在这里加上。
ruta = "MultimediaData/Users/{0}/{1}".format(self.user.username, filename)