相关疑难解决方法(0)

Django TemplateDoesNotExist?

我的本地机器在Ubuntu 8.10上运行Python 2.5和Nginx,Django是从最新的开发中继构建的.

对于我请求的每个URL,它会抛出:

TemplateDoesNotExist位于/​​ appname/path appname/template_name.html

Django尝试按以下顺序加载这些模板:*使用loader django.template.loaders.filesystem.function:*使用loader django.template.loaders.app_directories.function:

TEMPLATE_DIRS('/usr/lib/python2.5/site-packages/projectname/templates',)

在这种情况下,它是否在寻找/usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html?奇怪的是这个文件确实存在于磁盘上.为什么Django找不到它?

我在Ubuntu 9.04上使用Python 2.6在远程服务器上运行相同的应用程序,没有这样的问题.其他设置是相同的.

我的本地计算机上是否有任何配置错误,或者可能导致此类错误的内容我应该查看?

在我的settings.py中,我指定了:

SETTINGS_PATH = os.path.normpath(os.path.dirname(__file__))
# Find templates in the same folder as settings.py.
TEMPLATE_DIRS = (
    os.path.join(SETTINGS_PATH, 'templates'),
)
Run Code Online (Sandbox Code Playgroud)

它应该寻找以下文件:

  • /usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html
  • /usr/lib/python2.5/site-packages/projectname/templates/appname1/template2.html
  • /usr/lib/python2.5/site-packages/projectname/templates/appname2/template3.html
  • ...

以上所有文件都存在于磁盘上.

解决了

它在我尝试后现在有效:

chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*
Run Code Online (Sandbox Code Playgroud)

真奇怪.我不需要在远程服务器上执行此操作以使其工作.

django

135
推荐指数
9
解决办法
21万
查看次数

关闭Django开发服务器中的静态文件缓存

有没有一种简单的方法可以关闭Django开发服务器中的静态文件缓存?

我正在使用标准命令启动服务器:

$ python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

我已经settings.py配置为从/static我的Django项目目录中提供静态文件.我还有一个中间件类,它将Cache-Control头设置must-revalidate, no-cache为开发,但这似乎只会影响不在我的/static目录中的URL .

python django

29
推荐指数
6
解决办法
2万
查看次数

Django和CSS的一个简单例子

我是Django的新手,我正在尝试建立一个非常简单的Django应用程序.

现在,我要读到Django在线书籍的第5章:http://www.djangobook.com/en/2.0/chapter05/

在我开始尝试数据库之前,我现在要做的就是将一些简单的CS和J添加到应用程序中.

所以问题是,我该怎么做?我只有一个应用程序,我只需要一个css文件夹中的main.css和一个js文件夹中的main.js.

我检查了https://docs.djangoproject.com/en/1.3/howto/static-files/#staticfiles-in-templates页面,但阅读和阅读后,似乎没有很多工作在例子方面.

如何导入stylesheets/css(是否有像CakePHP这样的帮手?),我在哪里放置CSS和JS文件,是否需要配置静态东西?

更新:链接:Django中的渲染CSS没有多大帮助.主要是因为它对我不起作用,但我也特别不喜欢"if debug"部分.当我搬到prod时会发生什么?为什么我的媒体文件夹对于prod和本地开发者的定义不同?它不应该是相对的,甚至不是同一个地方吗?

css django

25
推荐指数
3
解决办法
4万
查看次数

如何在Django admin home中加载自定义JS文件?

我有一个大量定制的Django管理员,为我的每个ModelAdmins加载一个自定义JS文件非常简单:

class MyModelAdmin(admin.ModelAdmin):
    class Media:
        js = ('js/admin/mymodel.js',)
Run Code Online (Sandbox Code Playgroud)

但是我如何为管理"主页"执行此操作,其中列出了我的所有管理模型?

更新#1:修改我的问题,因为如果我不能有效地包含Django的jQuery,下面的解决方案就不那么有用了.那么,我如何在JS文件中包含Django的jQuery?如果我用我的代码包装(就像我在其他的ModelAdmin JS文件中那样):

(function ($) { //... })(django.jQuery);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ReferenceError:未定义django.

谢谢.

更新#2:我能够通过以下答案成功地包含Django的jQuery:https://stackoverflow.com/a/10584539/585783

javascript python django

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

django ×4

python ×2

css ×1

javascript ×1