How to set multiple settings.py for sites framewor

2019-09-05 02:55发布

问题:

Am trying to set up multiple website with same base. While browsing, came to know Django has Sites framework which I could use.

I didnt get how to set multiple settings.py file with site id. Any ideas anyone?

Thanks in advance :)

回答1:

you can have multiple setting file for example develop.py and production.py steps 1. create a settings folder inside the project 2. Add all of the settings file to that folder 3 while running server

./manage.py runserver --settings=project_name.settings.required_settingfile

eg: ./manage.py runserver --settings=myproject.settings.develop



回答2:

To serve multiple sites from the same Django instance you do not need multilple settings.py files.

A simple method is to omit the SITE_ID setting from the Sites framework. Then include the Sites framework middleware:

'django.contrib.sites.middleware.CurrentSiteMiddleware'

This automatically passes a request object to Site.objects.get_current() on every request. It also allows your Django application to detect the current site via request.site.

You would need to make sure to setup multilple virtual hosts using your NGINX or apache instance to route traffic from each site to your server.