djangodjango-sites

Where do I set the domain for my Django Sites framework site, when I only have one?


I have a Django project for a simple blog/forum website I’m building.

I’m using the syndication feed framework, which seems to generate the URLs for items in the feed using the domain of the current site from the Sites framework.

I was previously unaware of the Sites framework. My project isn’t going to be used for multiple sites, just one.

What I want to do is set the domain property of the current site. Where in my Django project should I do that? Somewhere in /settings.py?


Solution

  • If I understand correctly, Sites framework data is stored in the database, so if I want to store this permanently, I guess it’s appropriate in an initial_data fixture.

    I fired up the Django shell, and did the following:

    >>> from django.contrib.sites.models import Site
    >>> one = Site.objects.all()[0]
    >>> one.domain = 'myveryspecialdomain.com'
    >>> one.name = 'My Special Site Name'
    >>> one.save()
    

    I then grabbed just this data at the command line:

    python manage.py dumpdata sites
    

    And pasted it into my pre-existing initial_data fixture.