小编nic*_*ius的帖子

django-debug-toolbar在Django网站中不使用jQuery

我正在使用django-debug-toolbar(最新版本,v1.2.1),我在控制台中不断收到此错误:

Empty string passed to getElementById()
Run Code Online (Sandbox Code Playgroud)

对于jQuery中的这段代码(第2757行):

...
// HANDLE: $(#id)
} else {
elem = document.getElementById( match[2] );
...
Run Code Online (Sandbox Code Playgroud)

我单击的调试工具栏中的每个链接都会再次出现此警告.

当我注释掉我的主要jQuery源文件时,调试工具栏可以工作.此外,在Django管理员中,它工作正常,大概是因为Django管理员使用不同的方法来获取jQuery.

我试过@Carlton Gibson的答案,但这并没有解决我的问题.我也尝试过本地jQuery,从CDN和一些不同的版本到无济于事......

我尝试过不同版本的jQuery并使用文档中提供的所有可能设置django-debug-toolbar.我被困住了,我真的很喜欢这个工具,希望它适合我.

编辑

由于我收到了一些额外的评论和答案,我想我会做一个编辑来解释我尝试过的内容.我没有成功地尝试了所有建议.但是,目前,我在另一篇关于RequireJS的文章中看到了另一个错误django-debug-toolbar:

GET http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js [HTTP/1.1 304 Not Modified 133ms]
ReferenceError: jQuery is not defined localhost:8000:119
TypeError: djdt is undefined toolbar.js:297
Empty string passed to getElementById()
Run Code Online (Sandbox Code Playgroud)

即使加载了jQuery并且我告诉django-debug-toolbar我使用我的版本(with DEBUG_TOOLBAR_CONFIG = { 'JQUERY_URL': '', }),我仍然会收到错误并且DjDT无效.这一次,它甚至没有出现因为TypeError.

编辑

base.html是导入JS 的块.请记住,这是一个快照,它已经发生了很大的变化.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js" defer></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js" defer></script>
Run Code Online (Sandbox Code Playgroud)

我还有一个我正在使用的返回顶部小部件可能是罪魁祸首.由于我一直在使用这段代码,我从未想过这是一个问题,但现在我怀疑它可能是.此外,由于错误与 …

django jquery django-debug-toolbar

5
推荐指数
2
解决办法
1933
查看次数

如何在消息板中转义NBSP(&nbsp;)

我写在留言板上,显示&nbsp;为空格(正确如此).但偶尔我想实际编写NBSP,因为&nbsp;它没有被渲染为空格.有没有办法逃避这个,以便它可以写?

注意:似乎是一个合理的问题 - 想知道为什么我被标记为它?

escaping render html-entities

4
推荐指数
1
解决办法
5463
查看次数

使用jQuery更改另一个下拉列表的值

我有2个下拉列表,我想这样做,当有人从dropdown1中选择例如值2时,dropdown2自动更改为值2.这是否可以使用jquery?

<select id="dropdown1">
 <option value="1">Item1</option>
 <option value="2">Item2</option>
 <option value="3">Item3</option>
</select>

<select id="dropdown2">
 <option value="1">Item1</option>
 <option value="2">Item2</option>
 <option value="3">Item3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

jquery drop-down-menu

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

创建2级相互依赖的选择列表

我浏览了StackOverflow并发现了几个问题/答案,但是我的情况并不准确.我跟着这个例子:

http://www.javascriptkit.com/javatutors/selectcontent2.shtml

我的JavaScript代码是这样的:

var cityList = document.selectionForm.cityListBox;
var cities = new Array();

cities[0] = "";
cities[1] = ["Eugene|eugeneValue", "Portland|portlandValue", "Salem|salemValue"];
cities[2] = ["Bellingham|bellinghamValue", "Onalaska|onalaskaValue", "Seattle|    seattleValue"];

function updateCities(cityGroup) 
{
    cityList.options.length = 0;

    if (cityGroup > 0)
    {
        for (i = 0; i < cities[cityGroup].length; i++)
        {
            cityList.options[cityList.options.length] = new Option(cities[cityGroup][i].split("|")[0], cities[cityGroup][i].split("|")[1]);
        }   
    }
}
Run Code Online (Sandbox Code Playgroud)

我的HTML代码如下:

<form name="selectionForm">
    <select name="stateListBox" size="3" style="width: 150px" onchange="updateCities(this.selectedIndex);">
        <option selected>Select a State >></option>
        <option value="oregon">Oregon</option>
        <option value="washington">Washington</option>
    </select>

    <select name="cityListBox" size="3" style="width: 150px" onclick="alert(this.options[this.options.selectedIndex].value);">
    </select> …
Run Code Online (Sandbox Code Playgroud)

html javascript selectlist

2
推荐指数
1
解决办法
2832
查看次数

在PHP中循环SQL结果 - 没有获得整个数组

我可能错过了一些简单的东西,但我似乎在这里被阻止了...我有一个带有两个表的MySQL数据库,每个表有几行.所以目标是查询数据库并在表中显示结果,所以我这样开始:

$query = "SELECT name, email, phone FROM users";

然后我有这个PHP代码:

$result = mysql_query($query);

然后,我使用它来获取数组:

$row = mysql_fetch_array($result);

此时,我想我可以简单地遍历$row数组并在表格中显示结果.我已经有了一个函数来循环和显示表,但不幸的是,在它进入函数之前,数组似乎是不完整的.

要解决这个问题,我使用这个:

for ($i = 0; $i < count($row); $i++) {
    echo $row[$i] . " ";
}
Run Code Online (Sandbox Code Playgroud)

此时,我只获取数据库中的第一行,还有其他3个未显示.非常感谢任何帮助.

php mysql for-loop

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

对Python的排序内置感到沮丧(以范围和lambda为关键)

我遇到了一些对我没用的东西.请参阅sortedwith range和的使用lambda:

sorted(range(-5, 6), key=lambda x: x * x)
Run Code Online (Sandbox Code Playgroud)

哪个在Python shell中输出:

[0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5]
Run Code Online (Sandbox Code Playgroud)

现在,对于我的生活,我不明白!我一直在玩弄sorted,lambda以及range和它没有任何意义.例如,如果range在for循环中运行该位,则会得到如下内容:

>>> for i in range(-5, 6):
...     print(i)
-5
-4
...
0
...
4
5
Run Code Online (Sandbox Code Playgroud)

并且lambda位:

>>> (lambda x: x * x)(-5)
25
Run Code Online (Sandbox Code Playgroud)

但把它们放在一起......我不明白如何使用key这种方式使命令独立于符号.

但这对我有意义:

>>> sorted(range(-5, 6), key=lambda x: abs(x))
[0, -1, 1, -2, 2, -3, 3, -4, 4, …
Run Code Online (Sandbox Code Playgroud)

python sorting lambda python-3.x

2
推荐指数
1
解决办法
99
查看次数

Git:仅提交指定的文件(重命名、删除、修改、新文件等)

我有一个较旧的项目,我修改了许多文件(超过一百个)。删除了几个,重命名了一大堆,删除了很多等等。这批更改中可能有 10 个或更多的提交值得。例如,如何编写提交命令以仅选择那些重命名的文件:

git commit "all renamed files" -m "Renamed files."

我想尽量避免做这样的事情:

git commit file1 file2 file3 -m "Renamed files."

……因为太多了。我也可以提交一个价值 ( git commit folder1 . . .)的文件夹,但不幸的是,文件夹中有一些文件不能提交。

我已经接受了提供的答案,但不得不稍微修改命令:

git status --porcelain | grep -E '^(.R|R.)' | \
cut -b4- | awk '{print $1}' | xargs git commit -m "Bulk renamed files."
Run Code Online (Sandbox Code Playgroud)

这样做的原因是因为运行git status --porcelain | grep -E '^(.R|R.)' | cut -b4-,例如,输出(这里的一条线来证明)source/__init__.py -> site/__init__.py。当我xargs用来运行commit命令时,它不被接受,大概是因为-> . . .零件。所以我awk在这里只选择第一个块,这很好用。谢谢!

regex git rename git-commit

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