是否有可能MultipleObjectsReturned在Django中捕获错误?
我做了一个搜索查询,如果有多个对象,我想要列表中的第一个,所以我尝试了这个:
try:
Location.objects.get(name='Paul')
except MultipleObjectsReturned:
Location.objects.get(name='Paul')[0]
Run Code Online (Sandbox Code Playgroud)
然而,在存在DOC虽然
全局变量MultipleObjectsReturned不存在
我知道那里有数百个帖子,但不知何故这对我不起作用。我正在尝试使用 libcurl 发送电子邮件。这是我的代码:
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
#define FROM "<myemail@gmail.com>"
#define TO "<someother@gmail.com>"
#define CC "<someother2@hotmail.com>"
static const char *payload_text[] = {
"Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n",
"To: " TO "\r\n",
"From: " FROM "(Example User)\r\n",
"Cc: " CC "(Another example User)\r\n",
"Message-ID: <dcd7cb36-11db-487a-9f3a-e652a9458efd@"
"rfcpedant.example.org>\r\n",
"Subject: SMTP example message\r\n",
"\r\n", /* empty line to divide headers from body, see RFC5322 */
"The body of the message starts here.\r\n",
"\r\n",
"It could be a lot of lines, …Run Code Online (Sandbox Code Playgroud) 我试图了解模型方法是如何工作的。举个例子:来源在这里
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
birth_date = models.DateField()
def baby_boomer_status(self):
"Returns the person's baby-boomer status."
import datetime
if self.birth_date < datetime.date(1945, 8, 1):
return "Pre-boomer"
elif self.birth_date < datetime.date(1965, 1, 1):
return "Baby boomer"
else:
return "Post-boomer"
Run Code Online (Sandbox Code Playgroud)
baby_boomer_status方法什么时候被调用?
我尝试替换return为print,但该方法从未被调用。
这是如何运作的?抱歉这个菜鸟问题。
我有:
MY_PATH_DIR = 'path/to/my/json/file.json'
try:
with open(MY_PATH_DIR, 'r') as f:
MY_PATH_DIR = json.load(f)
except IOError, RuntimeError, ValueError:
pass
except PermissionDenied:
pass
Run Code Online (Sandbox Code Playgroud)
我想捕获所有可能的错误。和
IOError- 当文件不存在或有语法错误(无效的 JSON)时,我会捕获错误。
RuntimeError- 无法测试它,但我认为在出现意外错误的情况下从文档中这是有意义的
ValueError- 我从这里出发,以防万一没有返回
PermissionDenied- 是一个特定的 Django 错误
还有其他有意义的例外吗?我不确定OSError这里是否有意义。我认为这个问题会更早提出,对吗?
我是 django 的新手,我正在尝试实现一个使用小部件调整的表单。
我确实安装了小部件调整(我使用的是 Ubuntu 14.04)
sudo pip install django-widget-tweaks
Run Code Online (Sandbox Code Playgroud)
我的设置文件如下所示:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'core',
'addattr',
'widget_tweaks',
)
Run Code Online (Sandbox Code Playgroud)
html 看起来像这样:
{% extends "base/theme.html" %}
{% load widget_tweaks %}
{% block main_content %}
...more code...
Run Code Online (Sandbox Code Playgroud)
视图中的类和 url 中的链接工作得很好。
但是每次当我尝试加载 html 时,它都会说:
widget_tweaks' is not a valid tag library: Template library widget_tweaks not found, tried django.templatetags.widget_tweaks,django.contrib.admin.templatetags.widget_tweaks,django.contrib.staticfiles.templatetags.widget_tweaks
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮忙吗?提前致谢
input1当in聚焦时,我想将颜色更改为蓝色。为什么这不起作用?
<div id="input1">input1:</div>
<input id="in">
Run Code Online (Sandbox Code Playgroud)
css:
body {
color: red;
}
#in:focus + #input1 {
color: blue;
}
Run Code Online (Sandbox Code Playgroud)
我还创建了一个jsfiddle
这可能是一个愚蠢的问题,但在文档中它说:
\n\n\n\n\n提供用户在开发过程中上传的文件。\xc2\xb6
\n\n在开发过程中,您可以使用视图从 MEDIA_ROOT 提供用户上传的媒体文件
\n\ndjango.contrib.staticfiles.views.serve()。这不适合生产使用!有关一些常见的部署策略,请参阅部署静态文件。
\n\n例如,如果您的 MEDIA_URL 定义为 /media/,您可以通过将以下代码段添加到您的 urls.py 来执行此操作:
\n\nRun Code Online (Sandbox Code Playgroud)\nfrom django.conf import settings \nfrom django.conf.urls.static import static\n\nurlpatterns = [\n # ... the rest of your URLconf goes here ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)\n
这是否意味着生产用途+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)不应使用或应该使用?
我的理解是你不应该使用django.contrib.staticfiles.views.serve(),但我不确定这是否不一样
有人可以解释为什么会失败:
def test_test(self):
...
print Test.id
print name[0]
self.assertEqual(name[0], Test.id)
Run Code Online (Sandbox Code Playgroud)
输出是
正在为别名“default”创建测试数据库............
c8124e1d-c01c-4762-bcc0-d32df93e0824
c8124e1d-c01c-4762-bcc0-d32df93e0824 F......................... ==================== ===================================================失败: ... - - - - - - - - - - - - - - - - - - - - - - - -------------------------- 回溯(最近一次调用): ... self.assertEqual(name[0], Test.id)
断言错误:u'c8124e1d-c01c-4762-bcc0-d32df93e0824'!= UUID('c8124e1d-c01c-4762-bcc0-d32df93e0824')
有任何想法吗?
django创建表单时,输入的ID为以下内容:
<input id="id_name"..../>
Run Code Online (Sandbox Code Playgroud)
如何更改ID以说“测试”?
必须以某种形式存在于form.py中,对吗?
class ReviewForm (forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ReviewForm, self).__init__(*args, **kwargs)
self.fields['location']=forms.CharField(label='', required=False)
self.fields['review']=forms.CharField(label='', required=False)
Run Code Online (Sandbox Code Playgroud) 我知道我读过一些关于画布中的上升和字体高度的内容,但我根本不明白。
首先,为什么文本是从右到上绘制的,而不是像矩形那样从右到下绘制的。我在文档中找不到任何地方。然后,如果我想在字母周围绘制一个矩形,尤其是低于基线的“y”或“p”,我该怎么办?
我有一个带有文字的画布,
ctx.beginPath();
ctx.fillText('Hello yyyqqqppp', 50, 50);
ctx.fillStyle = 'red';
ctx.fill();
ctx.closePath();
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能在它周围绘制矩形?
提前致谢!