字符串格式化时并非所有参数都被转换" Python Django
我在Windows Vista上用Python 2.7和Django 1.5编程,想要创建用户资料。但是,当我访问localhost:8000/admin/home/userprofile时,出现了1146错误,提示“表'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
错误。这是一个让用户上传图片和电话号码的页面。看起来问题出在哪里呢?
2 个回答
4
为了让它能在Python 2和3中都能使用...
ruta = "MultimediaData/Users/{0}/{1}".format(self.user.username, filename)
6
修改:
ruta = "MultimediaData/Users/$s/%s"%(self.user.username, filename)
为:
ruta = "MultimediaData/Users/%s/%s"%(self.user.username, filename)
# ^ Notice the sign change
你似乎用了一个 $
符号,而不是 %
符号,这就是问题所在。