我试图在通过新的Django消息框架显示的消息中显示一些html.具体来说,我是通过ModelAdmin.message_user方法做到这一点的,它只是对messages()的一个薄包装:
def message_user(self, request, message):
"""
Send a message to the user. The default implementation
posts a message using the django.contrib.messages backend.
"""
messages.info(request, message)
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试的所有内容似乎都显示了转义的HTML.
self.message_user(request, "<a href=\"http://www.google.com\">Here's google!</a>")
Run Code Online (Sandbox Code Playgroud)
不起作用,也不起作用:
from django.utils.safestring import mark_safe
...
self.message_user(request, mark_safe("<a href=\"http://www.google.com\">Here's google!</a>"))
Run Code Online (Sandbox Code Playgroud)
admin base.html模板中模板代码的显示非常简单:
{% if messages %}
<ul class="messagelist">{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
所以我不确定我做错了什么.
非常感谢您的想法或指导,谢谢!
从我读过的内容来看,似乎我应该能够设置一个文件夹,例如tests /,用单元测试类放入一些文件,然后在该文件上运行phpunit并让它找到并运行测试.
无论出于何种原因,在我的安装中(在OS X上),它认为文件夹tests /是一个文件,或者看起来如此:
$ ls tests
test1.php test2.php
$ phpunit tests/test1.php
PHPUnit 3.5.3 by Sebastian Bergmann.
F
Time: 0 seconds, Memory: 5.00Mb
There was 1 failure:
1) FailingTest::testFail
Your test successfully failed!
/Users/****/tmp/tests/test1.php:4
FAILURES!
Tests: 1, Assertions: 0, Failures: 1.
$ phpunit tests/test2.php
PHPUnit 3.5.3 by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 5.00Mb
OK (1 test, 1 assertion)
$ phpunit tests
PHP Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Neither "tests.php" nor "tests.php" could be opened.' in …Run Code Online (Sandbox Code Playgroud) 我认为无论出于何种原因这很容易做到,但我看得更深,似乎没有直接的方法允许用户在实例的"更改"视图上执行自定义管理操作(即,当您只是查看编辑时屏幕显示单个实例,而不是实例列表).
我忽略了一个简单的方法吗?或者是我唯一的选择来覆盖其中一个管理模板(可能还有ModelAdmin.add_view方法)?
今天我遇到了一个问题,我将一个值设置为空数组的密钥传递给了http_build_query().例如:
$args = array("foo", "bar", array(), "baz");
$qs = http_build_query($args);
echo $qs; // outputs 0=foo&1=bar&3=baz, I expected 0=foo&1=bar&2=&3=baz
Run Code Online (Sandbox Code Playgroud)
这给我带来了一个问题,因为我通过http将一些数据传递给内部API,我需要在另一端提取所有参数.
好吧,我用Google搜索了这个并提出了以下错误报告:http://bugs.php.net/bug.php?id = 50407.来自管理员的简短回复是,"不设置与将其设置为空相同.没有错误."
有人可以向我解释为什么这不是一个错误?有没有人对解决方法有任何想法,除了在一方设置任意值并将该值解释为另一方的空值的蹩脚黑客?
编辑
这就是我认为这是一个错误的原因:
$args = array("foo", "bar", array(), "baz");
$qs = http_build_query($args);
parse_str($qs, $query);
echo ($args == $query); // false, I expect it to be true
Run Code Online (Sandbox Code Playgroud)
我想我也许天真地考虑parse_str()并http_build_query()相互颠倒.
我正在发布我目前的"蹩脚黑客"解决方案作为下面的答案.
所以这是我的问题.假设我有一个Python文件,我输入的行很长,就像最后一行一样:
class SomeClass(object):
def some_method(self):
some_variable = SomeOtherClass.some_other_method(some_parameter=some_value)
Run Code Online (Sandbox Code Playgroud)
当我在Vim中键入它时,会发生这种情况:
class SomeClass(object):
def some_method(self):
some_variable =
SomeOtherClass.some_other_method(some_parameter=some_value)
Run Code Online (Sandbox Code Playgroud)
这不仅仅是糟糕的风格,它打破了PEP8.我想要发生的是:
class SomeClass(object):
def some_method(self):
some_variable = SomeOtherClass.some_other_method(
some_parameter=some_value)
Run Code Online (Sandbox Code Playgroud)
这符合PEP8.(为了讨论的目的,我只对换行行为感兴趣,而不是缩进行为.)
编辑: breakat仅与linebreak控制线的显示方式配合使用.它(显然)不与textwidth确定插入硬线断裂的位置一起工作.所以我的想法不起作用......
令人惊讶的是,我没有发现任何迹象表明其他人分享了这个问题,这让我觉得我做错了什么.然而,我的想法是把添加(字符的breakat设置(连同[和{,而我是在它).
我试过这个; 这是输出:set breakat:
breakat= ^I!@*-+;:,./?([{
Run Code Online (Sandbox Code Playgroud)
但是,这无济于事.无论我做什么,Vim坚持在上面的"="之后打破.我也有同样的问题,长函数名称,它会在之后突破def.
以下是我的.vimrc的完整内容:
set nobackup
set nowritebackup
set noswapfile
set columns=80
set tabstop=4
set shiftwidth=4
set softtabstop=4
set autoindent
set smarttab
set smartindent
set textwidth=80
set wrap
set …Run Code Online (Sandbox Code Playgroud) 几个月前,我记得读过一些有用的小型Web服务,有人将它们放在一起进行API测试.基本上,你只是做了这样的电话,例如:
http://www.someAPItestingtool.com/status/405
Run Code Online (Sandbox Code Playgroud)
服务器会响应405 / Method Not Allowed.
它基本上只是一个方便的小实用程序,如果你只想与一个行为符合你指定方式的实时URL进行交互,你可以在开发过程中使用它.
今天我的google-fu很弱,我不能为我的生活记住它的名字.我敢肯定,只要它带我输入这个问题,我就可以鞭打这样的东西,但如果有人记得我在说什么,也许你可以分享?
非常感谢...
编辑:发布的东西我真的快速掀起,但如果有人知道我指的是什么,我仍然会对答案感兴趣...
我正在尝试查看是否有一种方法可以在将单行插入InnoDB表时检查单行的参照完整性,同时foreign_key_checks将其设置为0.
所以给出两个表:
CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`author_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `book_cc846901` (`author_id`),
CONSTRAINT `author_id_refs_id_7fdd0933` FOREIGN KEY (`author_id`) REFERENCES `person` (`id`)
) ENGINE=InnoDB;
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
我们针对它们运行以下语句:
SET foreign_key_checks=0
INSERT INTO `book` (`id`, `name`, `author_id`) VALUES (1, 'Cryptonomicon', 3)
INSERT INTO `person` (`id`, `name`) VALUES (4, 'Neal Stephenson')
SET foreign_key_checks=1
Run Code Online (Sandbox Code Playgroud)
所以我们在这里放了一些不好的数据 …
我正在为一个Wordpress博客制作插件,该博客发布了与博客相关的Facebook页面发布的每篇文章的链接.
我正在使用Graph API,我暂时通过OAuth验证了自己的身份.
我可以使用curl通过POST请求成功地将消息发布到页面https://graph.facebook.com/mypageid/feed,例如message ="这是一个测试"并且它发布了消息.
问题是该消息是"来自"我的用户帐户.我是这个测试页面的管理员,当我去Facebook并从网上发布更新时,链接来自我的页面.这就是我想要设置它的方式,因为如果所有共享链接都来自用户帐户,它看起来很愚蠢.
有没有办法将自己作为一个页面进行身份验证?或者是否有另一种方法可以POST到页面Feed,但最终不会被解释为用户的评论?
感谢您的任何想法或建议.