CentOS 6.8 部署django项目二
1、项目部署后发现部分页面的样式丢失,是因为在nginx中配置的static路径中未包含。
解决:在settinfs.py中添加:
1 | STATIC_ROOT = os.path.join(BASE_DIR, "static_all" ) |
然后执行:
1 | python3 . / manage.py collectstatic |
项目下自动生成static_all文件夹,里面包含所有的静态文件,然后修改nginx的配置文件,指向该文件路径。
2、自定义模板参数
如果希望向页面传递参数,类似于{{MEDIA_URL}}这种,我们可以模仿django添加自己的处理方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | TEMPLATES = [ { 'BACKEND' : 'django.template.backends.django.DjangoTemplates' , 'DIRS' : [os.path.join(BASE_DIR, 'templates' )] , 'APP_DIRS' : True , 'OPTIONS' : { 'context_processors' : [ 'django.template.context_processors.debug' , 'django.template.context_processors.request' , 'django.contrib.auth.context_processors.auth' , 'django.contrib.messages.context_processors.messages' , # 'django.template.context_processors.media', # 配置html页面获取MEDIA_URL路径 'configs.sysconf.media' ], }, }, ] |
注释掉django的django.template.context_processors.media,添加自己的configs.sysconf.media,内容是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from configs.models import ServerConfig def media(request): """ Adds media-related context variables to the context. """ try : serverConfig = ServerConfig.objects. all ()[ 0 ] image_server = serverConfig.img_server_ip + ':' + serverConfig.img_server_port.__str__() except Exception: image_server = '127.0.0.1' return { 'MEDIA_URL' : 'http://' + image_server + '/images/' , 'VOD_URL' : image_server + '/vods/' , 'ANNEX_URL' : image_server + '/annexs/' , } |
这样就可以在页面配置模板参数。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步