我有一个类,可能需要将对象更改为后续级别的后代类.这可能吗?我知道一个选项是返回它的副本但是使用子类,但是实际修改当前对象会很好...所以:
class myClass {
protected $var;
function myMethod()
{
// function which changes the class of this object
recast(myChildClass);
}
}
class myChildClass extends myClass {
}
$obj = new myClass();
$obj->myMethod();
get_class_name($obj); // => myChildClass
Run Code Online (Sandbox Code Playgroud) 我已经在网上寻找这个问题的答案,但老实说,我似乎找不到MVC路线的好参考.
我的User对象有一个UserController.可以在用户上编辑,保存,查看等,因此我在该控制器中有操作来处理每个操作.这一切都很简单.但我最近创建了一个新的UserProfile对象,人们也可以编辑,查看等.而不是仅为UserProfile创建一个全新的控制器,我想利用现有的UserController.因此,要查看用户的个人资料,我希望网址为:
http://www.example.com/User/Profile/{userProfileID}
Run Code Online (Sandbox Code Playgroud)
要编辑,我希望URL为:
http://www.example.com/User/Profile/Edit/{userProfileID}
Run Code Online (Sandbox Code Playgroud)
UserController中的每个操作都将返回不同的视图页面.
我如何定义处理这种结构的路线?非常感谢.
我有一个库,它是我基于CMake的项目的一部分.这个库有很多目标,我不想看到它们出现在我的目标列表中(在Visual Studio或QtCreator下).有没有办法让我把这个库作为我的项目构建的一部分构建(kindda就像依赖构建一样)但是没有看到这个库的可用目标?
我正在创建一个实用程序,它将遍历目录并获取所有目录的子目录和文件的大小并存储该值.但是,尺寸计算不正确.
这是我的类,它自动递归所有子目录:
class directory:
'''
Class that automatically traverses directories
and builds a tree with size info
'''
def __init__(self, path, parent=None):
if path[-1] != '/':
# Add trailing /
self.path = path + '/'
else:
self.path = path
self.size = 4096
self.parent = parent
self.children = []
self.errors = []
for i in os.listdir(self.path):
try:
self.size += os.lstat(self.path + i).st_size
if os.path.isdir(self.path + i) and not os.path.islink(self.path + i):
a = directory(self.path + i, self)
self.size += a.size
self.children.append(a) …Run Code Online (Sandbox Code Playgroud) 我愿意在我的django app中使用gravatars.在应用程序中,cw我创建了一个templatetags具有以下架构的目录:
cw/
templatetags/
__init.py__
gravatar.py
views.py
...
Run Code Online (Sandbox Code Playgroud)
在gravatar.py包含
from django import template
import urllib, hashlib
register = template.Library()
class GravatarUrlNode(template.Node):
def __init__(self, email):
self.email = template.Variable(email)
def render(self, context):
try:
email = self.email.resolve(context)
except template.VariableDoesNotExist:
return ''
default = "/site_media/img/defaultavatar.jpg"
size = 40
gravatar_url = "http://www.gravatar.com/avatar/" + hashlib.md5(email.lower()).hexdigest() + "?"
gravatar_url += urllib.urlencode({'d':default, 's':str(size)})
return gravatar_url
@register.tag
def gravatar_url(parser, token):
try:
tag_name, email = token.split_contents()
except ValueError:
raise template.TemplateSyntaxError, "%r tag …Run Code Online (Sandbox Code Playgroud) 我正在编写一个 PPT 插件,它可以制作幻灯片的 PNG 并将其上传到某个地方。我希望幻灯片创建者能够在文本框中添加日期/时间(使用插入 > 日期和时间),并使这些日期/时间反映拍摄快照的时间。
如果在添加时选中“自动更新”,则时间戳仅在幻灯片打开时更新。有没有办法找到所有形状的所有日期/时间标签/字段并强制它们在我拍摄快照之前立即更新?
我发现可能做我想做的唯一另一种方法是在幻灯片上有“命名”形状,这些形状是空的,并以编程方式将日期填充到它们中……但这会给构建幻灯片的人带来额外的复杂性,并且是一般比较乱。但如果有的话,我对其他可能性持开放态度。
谢谢!
-编辑-
好的,我刚刚意识到当我使用 SaveGraphic 创建 PNG 时,PNG 中的时间戳会更新!所以这可能就是我绝对需要的。有趣的是,用户在屏幕上查看的日期戳不会更新,这可能会使用户感到困惑。所以问题仍然存在......似乎这应该是可行的。
我担心这个问题有点令人费解.我在api上写了一个函数测试,当我查询它时,返回一堆带有嵌入式列表的json.这是一个看起来像的重要片段(所有数据都为此问题匿名):
[{u'account': {u'account_name': u'Autotest Account',
u'account_uid': u'000000000'},
u'address': {u'city': u'AutoTest City',
u'country': u'United States',
u'postal_code': u'10019',
u'province': None,
u'state': u'IL',
u'street': [u'12 Auto Road']},
u'children': [{u'institution_name': u'Autotest Bottom Institution 1',
u'institution_type': 1,
u'institution_uid': u'111111111'},
{u'institution_name': u'Autotest Bottom Institution 2',
u'institution_type': 1,
u'institution_uid': u'222222222'},
{u'institution_name': u'Autotest Bottom Institution 3',
u'institution_type': 1,
u'institution_uid': u'333333333'},
{u'institution_name': u'Autotest Bottom Institution 4',
u'institution_type': 1,
u'institution_uid': u'444444444'},
{u'institution_name': u'Autotest Bottom Institution 5',
u'institution_type': 1,
u'institution_uid': u'555555555'},
{u'institution_name': u'Autotest Bottom Institution 6',
u'institution_type': 1,
u'institution_uid': u'666666666'},
{u'institution_name': …Run Code Online (Sandbox Code Playgroud) 我通过Ajax调用创建了一个div class = box并附加到一个主div.此div class = box根据其内容更改其高度.我需要它的高度,但.height()返回0 ....
$.ajax({ url: "json/news.json",
dataType: "json",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function(data){
var html ="<div class='box'>"+data.box+"</div>";
}
});
// now i want its height
var j = $('.box').height();
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?谢谢
我正在寻找Clojure中简洁优雅代码的启发性例子 - 主要是学习新技术和改进自己的风格.
你能提供任何纯天才的金块吗?