What is the path for TEMPLATE_DIRS in django settings.py when using virtualenv

前端 未结 5 1760
感动是毒
感动是毒 2021-01-05 02:15

I am using virtualenv and I want to know what the TEMPLATE_DIRS in settings.py should be, for example if I make a templates folder in the root of m

5条回答
  •  一整个雨季
    2021-01-05 02:51

    You need to specify the absolute path to your template folder. Always use forward slashes, even on Windows.

    For example, if your project folder is "/home/djangouser/projects/myproject" (Linux) or 'C:\projects\myproject\' (Windows), your TEMPLATE_DIRS looks like this:

        # for Linux
        TEMPLATE_DIRS = (
            '/home/djangouser/projects/myproject/templates/',
        )
    
        # or for Windows; use forward slashes!
        TEMPLATE_DIRS = (
            'C:/projects/myproject/templates/',
        )
    

    Alternatively you can use the specified PROJECT_ROOT variable and generate the absolute path by joining it with the relative path to your template folder. This has the advantage that you only need to change your PROJECT_ROOT, if you copy the project to a different location. You need to import the os module to make it work:

    # add at the beginning of settings.py
    import os
    
    # ...
    
    TEMPLATE_DIRS = (
        os.path.join(PROJECT_ROOT, 'templates/'),
    )
    

提交回复
热议问题