我基本上想知道Python是否有任何像PHP那样的OOP缺点.PHP一直在为最后几个版本开发他们的OOP实践.它在PHP中越来越好但它仍然不完美.我是Python新手,我只是想知道Python的OOP支持是更好还是仅仅是可比的.
如果Python OOP中存在一些不遵循正确的OOP实践的问题,我肯定想知道这些.例如,PHP据我所知,不允许多重继承.
感谢大家!
编辑:如何支持公共和私人?或支持变量类型.我认为这些对于构建OOP软件非常重要.
指南针使用chunky_png渲染精灵.它在文件末尾添加一个哈希,以强制缓存下载新的图像精灵.有没有办法让这个缓存破坏?
我想知道iWork的页面的mime类型是什么?还有什么mime类型适用于iWork套件中的其他软件?我在网上看了看,我没有在任何地方看到它.
我想开始将单元测试集成到我的Django项目中,并且由于Django使用函数实现视图的方式,我发现单元测试视图很棘手.
例如,如果函数具有URL,则每个函数都是Django中的视图/页面.
我如何对Django视图进行单元测试?
我试图将我的一些django视图从基于函数的视图转换为基于类的视图,我遇到了一个小问题.
我的OO有点弱,我认为问题在于我已经忘记了事情的进展.
我有一个自定义的登录装饰器,我需要在视图上,所以我...
首先,我从这个例子中获得了View类 http://www.djangosnippets.org/snippets/760/
然后我的视图类看起来像这样......
class TopSecretPage(View):
@custom_login
def __call__(self, request, **kwargs):
#bla bla view stuff...
pass
Run Code Online (Sandbox Code Playgroud)
问题是我的装饰者由于某种原因无法访问request.session ...
我的装饰师看起来像这样......
def myuser_login_required(f):
def wrap(request, *args, **kwargs):
# this check the session if userid key exist,
# if not it will redirect to login page
if 'field' not in request.session.keys():
return wrap
Run Code Online (Sandbox Code Playgroud)
我觉得这很简单,我很想念,所以感谢大家的耐心等待!
更新:好的,这就是我得到的错误......
"ViewDoesNotExist:在模块projectname.application.views中尝试了TopSecretPage.错误是:类型对象'TopSecretPage'没有属性'session'"
我简化了装饰器,看起来像这样....
def myuser_login_required(request, *args, **kwargs):
# this check the session if userid key exist,
# if not it will redirect to login page
if 'username' …Run Code Online (Sandbox Code Playgroud) 在类中编写 getter/setter 时,setter应该是私有方法吗?
必须编写另一个方法来设置变量似乎有点多余,但似乎这可能允许更易于维护的代码结构。
如果您正在尝试进行测试驱动开发,那么在编写模型时编写检查模型列类型的测试是否合理?
就像在编写模型之前一样,编写测试并说我想要一个整数字段的ID字段.
我有一种情况,我们试图在注册的第二页上自动填充一些表单数据,我想知道当我们只通过几个字段时是否有办法绕过整个表单验证?
所以我们有类似的东西
form = NewForm(request.POST)
Run Code Online (Sandbox Code Playgroud)
request.POST只包含NewForm()中的一些字段.因此页面加载并且有关于如何填充某些字段的反馈.
这一切都发生在第二页的GET请求中.
有没有办法做某事......
form = NewForm(request.POST, validate=False)
Run Code Online (Sandbox Code Playgroud) django ×4
python ×4
class ×2
oop ×2
views ×2
comparison ×1
compass-sass ×1
css ×1
decorator ×1
iwork ×1
mime-types ×1
php ×1
sass ×1
session ×1
setter ×1
tdd ×1
unit-testing ×1
validation ×1