我用django创建了一个项目,然后建了一个cms的app,然后用www.xxx111.com访问这个网站。现在,我能不能在现有的项目和app上,给这个cms的app改套模型、视图和模板,让后指定www.xxx222.com访问这个新网站?
我用django创建了一个项目,然后建了一个cms的app,然后用www.xxx111.com访问这个网站。现在,我能不能在现有的项目和app上,给这个cms的app改套模型、视图和模板,让后指定www.xxx222.com访问这个新网站?
settings.py里面
ALLOWED_HOSTS = ['127.0.0.1', "www.xxx111.com", "xxx111.com", "www.xxx222.com", "xxx222.com"]
DNS里面让xxx111.com和xxx222.com指向同一个服务器即可
是否可以这样设置?
upstream django {
...
}
server {
server_name ~^(?<app>.+).example.com$;
...
proxy_pass http://django/$app/;
}
urlpatterns = [
url(r'^$', include(cms.urls)),
]
from . import views
urlpatterns = [
url(r'(?P<app_name>\S+)\.example.com/', views.AboutView.as_view()),
]
class AboutView(TemplateView):
template_name = "about.html"
def get_template_names(self):
return [self.kwargs["app_name"] + "/" + self.template_name]
然后你可以在templates
目录添加app
目录。
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
django一个项目可以创建多个APP。然后在项目的urls.py加入每个app的路由信息,譬如下面这样
然后通过www.xxx111.com/cms,www.xxx111.com/web, www.xxx111.com/other 就可以访问相应的app。
至于你说的通过新的域名访问新的app,貌似不太可以,或许我不知道。还请高人指点!