小编jjt*_*jjt的帖子

测试模板中是否存在模板块

我有一个结构,(% block heading %}在我的基本模板中通常有一个页面标题:

base.html文件

<h2>{% block heading %}{% endblock %}</h2>
Run Code Online (Sandbox Code Playgroud)

大多数时候,我会通过扩展基础的模板传递这样的标题:

扩展-base.html文件

{% block heading %}Super Cool Page!{% endblock %}
Run Code Online (Sandbox Code Playgroud)

但是,对于特殊页面,我不希望有一个页面标题:

延伸碱基special.html

{% block heading %}{% endblock %}
Run Code Online (Sandbox Code Playgroud)

理想情况下,这应该排除<h2>标签.现在,我可以让所有扩展模板都包含<h2>标签,但这违反了DRY,因为每个页面都应该具有页面级标题的相同元素.我更喜欢做的是(这似乎不起作用):

基prefered.html

{% if heading %}
<h2>{% block heading %}{% endblock %}</h2>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

这在模板级别上是否可行,或者我是否需要为此查看视图?

django django-templates

17
推荐指数
2
解决办法
5835
查看次数

如何从bash脚本中杀死Django runserver子进程?

我正在Django网站上工作,我有各种需要运行的编译程序(Compass/Sass,coffeescript,hamlpy),所以我为了方便起见制作了这个shell脚本:

#!/bin/bash
SITE=/home/dev/sites/rmx

echo "RMX using siteroot=$SITE"
$SITE/rmx/manage.py runserver &
PIDS[0]=$!
compass watch $SITE/media/compass/ &
PIDS[1]=$!
coffee -o $SITE/media/js -cw $SITE/media/coffee &
PIDS[2]=$!
hamlpy-watcher $SITE/templates/hamlpy $SITE/templates/templates &
PIDS[3]=$!

trap "echo PIDS: ${PIDS[*]} && kill ${PIDS[*]}" SIGINT

wait
Run Code Online (Sandbox Code Playgroud)

除了Django服务器之外的所有东西都在a上很好地关闭,ctrl+c因为服务器进程的PID不是python manage.py runserver命令的PID .这意味着每次我停止脚本时,我都必须找到正在运行的进程PID并将其关闭.

这是一个例子:

$> ./compile.sh
   RMX using siteroot....
   ...
   [ctrl+c]
   PIDS: 29725 29726 29728 29729
$> ps -A | grep python
   29732 pts/2    00:00:00 python
Run Code Online (Sandbox Code Playgroud)

第一个PID 29725是初始python manage.py runserver调用,但29732它是实际的开发服务器进程.

编辑看起来这是由于Django的自动重载功能 …

python django bash shell

13
推荐指数
1
解决办法
3325
查看次数

从vim会话中删除缓冲区

在保存会话之前,我没有正确删除缓冲区吗?它似乎浮现在我打开的每个缓冲区上.我使用gvim与标准:tabe:tabnew命令.

  1. 清洁gvim的开始
  2. 我打开了一些标签:tabe,做了一些工作
  3. :mksession! ~/session 保存我的会话状态
  4. 不需要缓冲区#14, :14bd
  5. :ls 确认#14已删除
  6. :mksession! ~/session 再次保存会话
  7. 做一天的工作, :qa
  8. 第二天加载gvim, :so ~/session
  9. 缓冲区14仍然存在!!
  10. ???
  11. 没有利润

windows vim

10
推荐指数
1
解决办法
1320
查看次数

如何在vim函数中设置数值变量

我正在尝试编写一个函数,调用setlocal将一些变量设置为我传入的参数.但是我收到了错误Number required after =: tabstop=...

function! MyFunction(param)
    setlocal tabstop=param
    setlocal tabstop=a:param
endfunction
Run Code Online (Sandbox Code Playgroud)

两条线都会失败.我缺少某种变量插值吗?

vim

8
推荐指数
1
解决办法
1259
查看次数

指南针在Win上使用Compass项目目录之外的相对路径

我在现有网站上使用Sass并决定让Winass在Win7x64上运行.Ruby,HAML,指南针都安装得很好(afaik).

我有一个项目,c:\project其中包含一个静态文件c:\project\static,其目录结构必须保持不变.我进去c:\project\static跑了这个:

compass create css-compass
Run Code Online (Sandbox Code Playgroud)

这导致了以下的dir结构

c:\project\static\css (previously existed; output css)
c:\project\static\css-sass (previously existed; source css)
c:\project\static\css-compass (the new compass dir created by compass)    
Run Code Online (Sandbox Code Playgroud)

这是我的config.rb:

# Require any additional compass plugins here.
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "..\\css"
sass_dir = "..\\css-sass"
images_dir = "images"
javascripts_dir = "javascripts"
Run Code Online (Sandbox Code Playgroud)

当我去c:\project\static运行时compass watch compass-css,我收到以下错误:

无需编译.如果您正在尝试启动一个新项目,那么您已经离开了目录参数.运行"compass -h"获取帮助.

不过,如果我中创建符号链接c:\project\static\css-compasscss->..\css和 …

css sass compass-sass

3
推荐指数
1
解决办法
2095
查看次数

标签 统计

django ×2

vim ×2

bash ×1

compass-sass ×1

css ×1

django-templates ×1

python ×1

sass ×1

shell ×1

windows ×1