如何在我的代码中更改'example.com'?

2 投票
3 回答
3369 浏览
提问于 2025-04-15 18:17

我在我的网站文件夹里创建了一个叫 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

撰写回答