美文网首页聚客开发日志
安装django环境admin问题--TemplateDoesN

安装django环境admin问题--TemplateDoesN

作者: 十三流 | 来源:发表于2016-11-04 11:13 被阅读0次

    问题

    进入admin界面时,提示

    页面找不到

    首先排查settings中INSTALLED_APPS段是否包含了'django.contrib.admin',然后再看TEMPLATE_LOADERS

    TEMPLATE_LOADERS = (
        'django.template.loaders.filesystem.Loader',
        'django.template.loaders.app_directories.Loader',
    )
    

    配置是正常的,继续看页面的报错信息

    文件未找到

    居然是页面文件没找到,我可是用pip装的,cd到目录下一看,果然没有django/contrib/admin/templates文件夹,到stackoverflow上搜索后发现,使用虚拟环境virtuallen是可能发生这个问题的,我现在使用的是pyenv,也是虚拟环境,看来就是这个问题了,同时也说了解决办法,安装目录其他路径是有这些文件的,找到copy过去就可以了

    http://stackoverflow.com/questions/34154652/django-admin-template-folder-missing-after-fresh-install-in-virtualenv

    解决办法

    在安装django的目录下查找admin文件名,懒得去找目录了,直接全盘搜索


    QQ截图20161104104959.jpg

    找到admin文件夹,发现里面3个文件夹,django/contrib/admin中都没有,看来虚拟环境下路径识别还是不好,讲将这3个文件夹复制过去后,OK,问题解决。

    root@iZ2ze1lsoerlt75gu9joguZ:~/.pyenv/versions/2.6.6/django/contrib/admin# ls
    locale  static  templates
    

    后记

    在做多语言的时候,发现本地测试没问题,服务器上却总是切换不成功,无奈只要顺着源码一步步找,看到最后是在这里失败了,在查找django/conf/locale/下的语言包时失败,这个不是django包自带的吗,竟然出错,打开自己的windows看了一下,这个Pythonhome/lib/site-packages/django/conf/locale下大改有几十个语言包,但是服务器上没有这个文件夹,有点懵逼。。。
    后来联想到这个admin的问题,于是打开pyenv的目录看一下

    :~ .pyenv/versions/2.6.6# ls
    bin  django  include  lib  share
    

    这里的一个django目录下有几个子目录,有conf/locale/和语言包,于是将这个django拷贝到lib/python2.6/site-packages/django下合并,问题解决了。

    不明白的是,为什么pyenv安装的目录结构会是这样,还是有其他用意。

    相关文章

      网友评论

        本文标题:安装django环境admin问题--TemplateDoesN

        本文链接:https://www.haomeiwen.com/subject/ceniuttx.html