如何在我的代码中更改'example.com'?
我在我的网站文件夹里创建了一个叫 a.py
的文件。
这个 a.py
文件的内容是:
from django.core.management import setup_environ
from mysite import settings
setup_environ(settings)
from django.contrib.sites.models import Site
domain = Site.objects.get_current().domain
print domain
它输出的结果是:
:example.com
我该怎么把这个 'domain' 改成 127.0.0.1:8000 呢?
from django.core.management import setup_environ
from register import settings
setup_environ(settings)
from django.contrib.sites.models import Site
#domain = Site.objects.get_current().domain
#print domain
from django.contrib.auth.models import User
obj=Site.objects.get(id=1).update(name='sss')
print obj
错误信息:
Traceback (most recent call last):
File "D:\zjm_code\register\a.py", line 13, in <module>
obj=Site.objects.get(id=1).update(name='sss')
AttributeError: 'Site' object has no attribute 'update'
3 个回答
4
在你的项目文件夹里放一个叫做 initial_data.json 的文件,里面写上以下内容:
[{
"pk": 1,
"model": "sites.site",
"fields": {
"name": "localhost:8080",
"domain":"localhost:8080"
}
}
]
然后运行命令 python manage.py syncdb,设置就会被更新了。
8
去管理界面的Site
模型那里,把里面的值改一下。或者在Django的命令行里对Site进行查询,然后修改并保存这个模型。
1
正如 whrd 评论的那样,你不能在调用 get(...)
得到的结果上直接调用 update(...)
。更好的做法是这样修改你的代码:
from django.core.management import setup_environ
from register import settings
setup_environ(settings)
from django.contrib.sites.models import Site
obj=Site.objects.get(id=1)
obj.name='sss'
obj.save()
print obj