Как я могу изменить «example.com» в моем коде? - PullRequest
2 голосов
/ 21 января 2010

Я построил a.py в моем файле mysite,

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

Как мне изменить «домен» на 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 ]

8 голосов
/ 21 января 2010

Перейдите к модели Site в интерфейсе администратора и измените значение там. Или выполните запрос на сайте в командной строке Django, измените и сохраните модель.

4 голосов
/ 23 декабря 2010

Поместите файл call initial_data.json в каталог вашего проекта со следующим содержимым: [{ "pk": 1, "model": "sites.site", "fields": { "name": "localhost:8080", "domain":"localhost:8080" } } ] затем используйте python manage.py syncdb et voilà настройки изменены.

1 голос
/ 21 января 2010

Как и в случае с комментариями, вы не можете вызвать update(...) в результате вызова get(...) для QuerySet. Лучший способ изменить ваш код таков:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...