Recentemente, atualizei o Django da v1.3.1 para a v1.4.
Na minha idade settings.py
eu tenho
TEMPLATE_DIRS = (
os.path.join(os.path.dirname( __file__ ), 'templates').replace('\\', '/'),
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
Isso apontará para /Users/hobbes3/Sites/mysite/templates
, mas como o Django v1.4 moveu a pasta do projeto para o mesmo nível das pastas do aplicativo , meu settings.py
arquivo está agora em /Users/hobbes3/Sites/mysite/mysite/
vez de /Users/hobbes3/Sites/mysite/
.
Na verdade, minha pergunta agora é dupla:
- Como eu uso
os.path
para procurar um diretório um nível acima de__file__
. Em outras palavras, eu quero/Users/hobbes3/Sites/mysite/mysite/settings.py
encontrar/Users/hobbes3/Sites/mysite/templates
usando caminhos relativos. - Devo estar mantendo a
template
pasta (que tem modelos de cross-aplicação, comoadmin
,registration
, etc.) para o projeto/User/hobbes3/Sites/mysite
nível ou em/User/hobbes3/Sites/mysite/mysite
?
settings.py
em vários servidores. A única diferença pode ser as credenciais do banco de dados. Eu estava lendo a os.path
documentação, mas não consegui encontrar um comando que permita que você suba um diretório. Like cd ..
.
os.path.join( os.path.dirname( __file__ ), '..' )
..
significa o diretório acima todo o sistema de arquivos, não apenas quando passou para cd
.
os.path.join( os.path.dirname ( __file__), os.path.pardir)
os
paracd
a../mysite
? Ou qualquer comando que você quer