2010-01-21 5 views
2

je construit un a.py dans mon dossier monsite,Comment changer 'example.com' dans mon code?

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 

Il imprime:

:example.com

Comment puis-je changer le 'domaine' à 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 

erreur:

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' 

Répondre

1

Comme whrd commenté, vous ne pouvez pas appeler update(...) sur le résultat de l'appel get(...) sur un QuerySet. Une meilleure façon de changer votre code est le suivant:

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 
8

Aller au modèle Site dans l'interface d'administration et modification de la valeur. Ou faites une requête sur Site à l'invite de Django et modifiez et enregistrez le modèle.

+0

salut Ignacio, voir http://stackoverflow.com/questions/2107456/how-do-i-change-example-com-in-my-code/2107649#2107649 – zjm1126

4

Mettez un initial_data.json d'appel de fichier dans le répertoire de votre projet avec le contenu suivant: [{ "pk": 1, "model": "sites.site", "fields": { "name": "localhost:8080", "domain":"localhost:8080" } } ] puis utilisez python manage.py syncdb et les paramètres sont voilà modifiés .

Questions connexes