我正试图开始南方.我有一个现有的数据库,我添加了South(syncdb,schemamigration --initial).
然后,我更新models.py了添加字段并运行./manage.py schemamigration myapp --auto.它似乎找到了该领域并说我可以应用它./manage.py migrate myapp.但是,这样做会给出错误:
django.db.utils.DatabaseError: table "myapp_tablename" already exists
Run Code Online (Sandbox Code Playgroud)
tablename是第一个列出的表models.py.
我正在运行Django 1.2,South 0.7
考虑一下:
return render(request, 'index.html', {..context..})
return render_to_response('index.html', {..context..})
Run Code Online (Sandbox Code Playgroud)
一方面,render更清洁,更pythonic.另一方面,你使用request作为你的第一个参数,我觉得多余和混乱.所以我开始怀疑更大的差异......
根据文件:
render()与使用context_instance参数调用render_to_response()相同,后者强制使用RequestContext.
所以区别仅在于使用RequestContext.那么RequestContext有什么重要意义呢?让我们再看看文档:
一个特殊的Context类[...]与普通的django.template.Context行为略有不同.第一个区别是它需要一个HttpRequest作为它的第一个参数.
好.这根本不重要
第二个区别是它根据你的TEMPLATE_CONTEXT_PROCESSORS设置自动填充上下文中的一些变量[...]除了这些之外,RequestContext总是使用django.core.context_processors.csrf [...]它是故意硬编码的并且不能通过TEMPLATE_CONTEXT_PROCESSORS设置关闭.
所以这是重要的部分 - 确保所有上下文处理器正常工作,重点是csrf.真的,回到我的第一个例子,这些实际上是相同的:
return render(request, 'index.html', {...})
return render_to_response('index.html', {...}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
现在,第二个例子显然要糟糕得多,整个事情似乎过于复杂.所以我的大问题是为什么要使用render_to_response?为什么不弃用呢?
想到的其他问题:
RequestContext默认值?request作为论点传递?这非常多余.我发现了一篇博客文章,展示了如何将render_to_response变成一个易于使用的装饰器.我们不能做类似的事render吗?render到专门用于解决render_to_response问题的 django 1.3 ,并且每个人都同意 你不应该使用 render_to_response 我知道它似乎有点偏离主题,但我希望得到的答案可以解释为什么render_to_response留下来和\或用例的例子,其中使用render_to_response将优先于render(如果有的话)
来自Django Docs:
部署django.contrib.staticfiles提供了一个便捷管理命令,用于在单个目录中收集静态文件,以便您可以轻松地为它们提供服务.
将STATIC_ROOT设置设置为您要为其提供这些文件的目录,例如:
Run Code Online (Sandbox Code Playgroud)STATIC_ROOT = "/var/www/example.com/static/"运行collectstatic管理命令:
Run Code Online (Sandbox Code Playgroud)$ python manage.py collectstatic这会将静态文件夹中的所有文件复制到STATIC_ROOT目录中.
使用您选择的Web服务器来提供文件.部署静态文件涵盖了静态文件的一些常见部署策略.
复制文件的目的是什么,为什么不从它们在应用程序中存在的目录中提供它们?
我正在使用pdfkit生成pdf文件,我想将此pdf文件发送到浏览器.
但我收到消息 "TypeError: listener must be a function",
此外,文件正在我的父目录生成,我不想要.
谁能解释我如何生成pdf文件并将其发送到浏览器而不将其存储在父目录中?
我在这里使用expressjs.
var PDFDocument = require('pdfkit');
var fs=require('fs');
doc = new PDFDocument();
doc.moveTo(300, 75)
.lineTo(373, 301)
.lineTo(181, 161)
.lineTo(419, 161)
.lineTo(227, 301)
.fill('red', 'even-odd');
var loremIpsum = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam in...';
doc.y = 320;
doc.fillColor('black')
doc.text(loremIpsum, {
paragraphGap: 10,
indent: 20,
align: 'justify',
columns: 2
});
doc.write('out.pdf');
res.download('out.pdf');
Run Code Online (Sandbox Code Playgroud) 我正在使用bootstrap的导航div下拉菜单,我想在悬停时更改子菜单链接的颜色.我没有尝试任何工作,我无法理解它.即使在尝试从chrome控制台运行时,它也没有任何效果.
我创建了一个css文件,我覆盖默认值.普通a标签的背景更改有效,但悬停不起作用.这是为什么?我也试过影响li和使用!important,但没有一个有任何影响.
我正在使用Bootstrap 3.1.1.这是我的css:
.dropdown-menu > li > a {
color: white; /* This has an effect */
}
.dropdown-menu > li > a:hover {
background-color: red; /* This doesn't... why? */
}
Run Code Online (Sandbox Code Playgroud)
并查看这个jsfiddle以进行演示(由于某种原因,您需要在看到按钮之前将结果面板拖动到左侧).有任何想法吗?
编辑
请注意我试图更改链接的背景色中的下拉列表中,不包括主键是MyProfile.
我一直在研究一个项目,我注意到我想要解决的bootstrap行为的一些不一致.
当一个弹出框(或工具提示,无论如何,它们基本相同)接近屏幕的边缘 - 如果它是一个右边的,当接近边缘时 - 它会收缩,以便不要离屏(它只能起作用)达到一定程度,但这通常就足够了.
当展示位置在左侧时,不会发生这种情况.
即:
正确的位置:
正常宽度:

接近边缘:

左侧位置:
正常宽度:

接近边缘:

这些图片来自我写的一个小型DEMO来说明问题.
我搞乱了源代码,到目前为止无济于事.我似乎无法将手指放在究竟是什么原因导致这种行为.
有任何想法吗?
PS
我正在使用Bootstrap 3.1.1.新的3.2 没有解决问题(我想在此时避免升级).
重大更新!
经过一番挖掘,我发现这与bootstrap无关 - 这是简单的css - 似乎当你绝对定位一个元素并将它推到两侧时它会尝试并保持屏幕.
我从来不知道这种行为,它会自动发生 - 但只发生在您正在推动的方向 - 即从左侧推出的div将在到达屏幕的右边缘时收缩,反之亦然.
事实上,弹出窗口仅定位于left分配 - 这就是我们看到不一致行为的原因 - 当它被推向右侧时它收缩而不是另一个方向.
所以解决方案是分配right- 听起来很简单?没那么多.我拿了源代码并对其进行了一些操作,添加了这些行(在jsfiddle中的第250行):
if (placement == 'left' && offset.left < 0) {
var right = ( $(window).width() + 10 ) - ( offset.left + actualWidth );
offset.left = 0;
$tip.offset(offset);
$tip.css({ 'right': right });
} …Run Code Online (Sandbox Code Playgroud) javascript css jquery twitter-bootstrap twitter-bootstrap-tooltip
我正在尝试将我用Java编写的一些(非常简单的)android代码重写为静态HTML5应用程序(我不需要服务器做任何事情,我想保持这种方式).我在Web开发方面有广泛的背景,但对Java有基本的了解,甚至在Android开发方面知识较少.
应用程序的唯一功能是获取一些数字并将它们转换为字节的音频啁啾.将数学逻辑转换为JS绝对没有问题.我遇到麻烦的地方是实际产生声音的时候.这是原始代码的相关部分:
import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioTrack;
// later in the code:
AudioTrack track = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize, AudioTrack.MODE_STATIC);
// some math, and then:
track.write(sound, 0, sound.length); // sound is an array of bytes
Run Code Online (Sandbox Code Playgroud)
我怎么在JS中这样做?我可以使用dataURI从字节中产生声音,但这是否允许我在这里控制其他信息(即采样率等)?换句话说:在JS中执行此操作的最简单,最准确的方法是什么?
更新
我一直试图复制我在这个答案中找到的东西.这是我的代码的相关部分:
window.onload = init;
var context; // Audio context
var buf; // Audio buffer
function init() {
if (!window.AudioContext) {
if (!window.webkitAudioContext) {
alert("Your browser does not support any AudioContext and cannot play back …Run Code Online (Sandbox Code Playgroud) 我正在研究一个JS插件.添加一些代码后,我在某些情况下遇到Chrome崩溃,在我杀死页面后看到"他死了,Jim"的消息.这意味着我的内存耗尽,这可能意味着无限循环等.
我不需要JS的帮助,这不是我要问的.我想看到的是追溯.我去了~/.config/google-chrome/CrashReports/(我正在使用Ubuntu),但它是空的.我用Google搜索并试图locate在终端中使用,但找不到任何相关内容(Google的问题排查工具主要侧重于用户端体验,而不是开发人员端,因此没有用处).
我知道我可以使用断点和东西,但我也很想看到回溯,我也想知道调试这些崩溃的一般过程(我不会总是知道代码的哪一部分产生了崩溃,这是偶然的,我碰巧马上就找到了它.
我正在尝试构建一个登录页面.我正在运行Django 1.6.1.我在很大程度上遵循了www.fir3net.com/Django/django.html上的教程.为方便起见,我会在这里重新发布很多内容.
错误信息:
Request Method: GET
Request URL: http://127.0.0.1:8000/login/
Database In Use: SQLite3
Django Version: 1.6.1
Python Version: 2.7.4
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.contenttypes',
'bookmarks')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.RemoteUserMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/tatenda/Documents/Programming/Django/Progs/django_bookmarks/bookmarks/views.py" in login_user
17. username = request.POST['username']
File "/usr/local/lib/python2.7/dist-packages/django/utils/datastructures.py" in __getitem__
301. raise MultiValueDictKeyError(repr(key))
Exception Type: MultiValueDictKeyError at /login/
Exception Value: "'username'"
Run Code Online (Sandbox Code Playgroud)
查看代码(我知道这里调用的几个导入函数对我当前的问题来说是多余的.大多数情况下,它们都是冗余的代码,因为我们试图按照之前的教程来解决这个问题):
from django.http import*
from django.shortcuts import render_to_response, …Run Code Online (Sandbox Code Playgroud) 我正在开发一个扩展Dan Grossman的测距仪的插件.这是我的回购.请原谅我的杂乱代码,这仍然是一项正在进行中的工作.我的问题是Firefox无法识别点击输入.这是相关的:
this.container.find('.ranges')
.on('click',
'.daterangepicker_start_input, .daterangepicker_end_input',
$.proxy(this.focusInput, this));
Run Code Online (Sandbox Code Playgroud)
现在函数focusInput本身并不重要,真的,因为我console.log在它的顶部添加了一个简单的,很明显它根本没有运行(添加断点也没有帮助).
我认为这可能是因为我正在使用禁用输入,但更改它没有帮助(并且它不应该是一个问题,因为事件是通过父元素捕获的).
我从Firefox控制台获得的错误消息是:
TypeError: handleObj.handler.apply is not a function jquery-1.11.0.js:4995
TypeError: handleObj.handler.apply is not a function jquery-1.11.0.js:4624
Run Code Online (Sandbox Code Playgroud)
这告诉我问题是jQuery(我很难相信).我猜我做错了导致jQuery出错,但是由于Chrome没有抱怨,我很难跟踪到底哪里出错了.
我很想得到一些帮助.提前致谢!
更新
我在github上更新了代码.现在点击不仅仅适用于最初隐藏的元素(呃...没有意义),但更重要的是 - 我根本没有收到任何错误.所以我被卡住了.我不知道FF的问题是什么.即使是Internet Explorer也没有抱怨 - 这到底是什么?
django ×4
javascript ×4
css ×2
jquery ×2
android ×1
audio ×1
django-south ×1
express ×1
firefox ×1
html5 ×1
java ×1
node-pdfkit ×1
node.js ×1
python ×1