程序设计

专业和发烧友程序员的问答




2
Django管理员中同一模型的多个ModelAdmins /视图
如何为同一个模型创建一个以上的ModelAdmin,每个ModelAdmin进行不同的自定义并链接到不同的URL? 假设我有一个称为Posts的Django模型。默认情况下,此模型的admin视图将列出所有Post对象。 我知道我可以通过设置变量(例如list_display)或queryset在ModelAdmin中重写方法来以各种方式自定义页面上显示的对象列表: class MyPostAdmin(admin.ModelAdmin): list_display = ('title', 'pub_date') def queryset(self, request): request_user = request.user return Post.objects.filter(author=request_user) admin.site.register(MyPostAdmin, Post) 默认情况下,可以通过URL访问/admin/myapp/post。但是我想拥有同一模型的多个视图/ ModelAdmins。例如,/admin/myapp/post将列出所有帖子对象,并/admin/myapp/myposts列出属于该用户的/admin/myapp/draftpost所有帖子,并可能列出尚未发布的所有帖子。(这些只是示例,我的实际用例更加复杂) 您不能为同一模型注册多个ModelAdmin(这将导致AlreadyRegistered异常)。理想情况下,我希望不将所有内容放入单个ModelAdmin类中并编写自己的“ urls”函数以根据URL返回不同的查询集来实现这一点。 我看了看Django的源代码,发现ModelAdmin.changelist_view在urls.py中可以包含这样的函数,但是我不确定它是如何工作的。 更新:我找到了一种实现自己想要的方式(见下文),但是我仍然想听听其他实现方式。

11
如何强制卸载CIFS连接
我在Linux机器上安装了CIFS共享。CIFS服务器已关闭,或Internet连接已关闭,任何与CIFS挂接有关的事物现在都需要几分钟的超时时间,并且在等待时无法终止。我什至无法在我的主目录中运行ls,因为CIFS挂载内部指向一个符号链接,而ls试图跟随它来确定它应该是什么颜色。如果我尝试将其挂载(即使使用-fl),则挂载进程也会像ls一样挂起。甚至sudo kill -9也无法杀死它。如何强制卸载内核?
149 linux  samba  smb  cifs 

14
HTML5画布调整大小(缩小)图像的质量?
我使用html5 canvas元素在浏览器中调整图像大小。事实证明,质量很低。我发现了这一点:在缩放<canvas>时禁用插值,但它无助于提高质量。 下面是我的css和js代码,以及用Photoshop调用并在canvas API中缩放的图像。 在浏览器中缩放图像时,我该怎么做才能获得最佳质量? 注意:我想将大图像缩小为小图像,修改画布中的颜色并将结果从画布发送到服务器。 CSS: canvas, img { image-rendering: optimizeQuality; image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; -ms-interpolation-mode: nearest-neighbor; } JS: var $img = $('<img>'); var $originalCanvas = $('<canvas>'); $img.load(function() { var originalContext = $originalCanvas[0].getContext('2d'); originalContext.imageSmoothingEnabled = false; originalContext.webkitImageSmoothingEnabled = false; originalContext.mozImageSmoothingEnabled = false; originalContext.drawImage(this, 0, 0, 379, 500); …



6
Android:在Activity生命周期中何时调用onCreateOptionsMenu?
我在其中加入了两个断点onCreate(在方法的开始处有一个断点,在方法的末尾有一个断点),在的开始处也有一个断点onCreateOptionsMenu。该onCreate方法首先被调用,然后在完成之前onCreateOptionsMenu被调用。 我试图Fragment在应用程序中分离导航代码,所以我有几个对象要委托onCreateOptionsMenu给我,具体取决于应用程序是否在手机/平板电脑上运行(我正在使用屏幕尺寸来确定此布局,我的布局文件用于大屏幕有一个视图,在布局放大后我会检查该视图)。我遇到的问题是,我在onCreate中创建了这些对象,当我在中引用对象时遇到了空指针异常onCreateOptionsMenu。


3
可点击的ImageView和ImageButton之间的区别
我只是想知道被ImageView设置为可点击的与相比是否有显着差异ImageButton? 有什么理由要使用另一个?是否有一个上绘制任何限制ImageButton的是叶ImageView作为唯一可能的选择吗? 我很可能会失去一个按钮的任何功能,如果我选择一个点击ImageView过ImageButton?

5
锁定未锁定的互斥锁的效率如何?互斥锁的成本是多少?
在低级语言(C,C ++或任何其他语言)中:我可以选择是否拥有一堆互斥对象(例如pthread给我的东西或本机系统库提供的东西)或一个对象的单个对象。 锁定互斥锁的效率如何?即可能有多少个汇编程序指令,它们需要多少时间(在互斥锁未锁定的情况下)? 互斥锁的成本是多少?确实有很多互斥体是一个问题吗?还是我可以在代码中抛出与变量一样多的互斥量int变量,这并不重要吗? (我不确定不同的硬件之间有多少区别。如果有,我也想知道它们。但是大多数情况下,我对通用硬件很感兴趣。) 关键是,通过使用许多互斥量(每个互斥量仅覆盖对象的一部分)而不是整个对象的单个互斥量,我可以保护很多块。我想知道我应该走多远。即我应该尽可能真正地保护任何可能的块,无论这意味着多少复杂和多少互斥量? WebKits博客文章(2016)中有关锁定的问题与该问题非常相关,并解释了自旋锁,自适应锁,futex等之间的区别。

1
JSON劫持仍然是现代浏览器中的问题吗?
我正在使用Backbone.js和Tornado Web服务器。在Backbone中接收集合数据的标准行为是作为JSON数组发送。 另一方面,由于以下漏洞,Tornado的标准行为是不允许JSON Array: http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx 一个相关的是:http : //haacked.com/archive/2009/06/25/json-hijacking.aspx 对于我来说,当它确实是一个对象列表时,不必将JSON包装在一个对象中,这是更自然的选择。 我无法在现代浏览器(即当前的Chrome,Firefox,Safari和IE9)中重现这些攻击。同时,我无法证实现代浏览器已经解决了这些问题。 为确保我不会被任何可能的编程技巧和谷歌搜索技巧所误导: 这些JSON劫持攻击是否在当今的浏览器中仍然是一个问题? (注意:很抱歉,可能存在以下重复项:是否可以在现代浏览器中进行“ JSON劫持”? 但是由于接受的答案似乎无法回答问题-我认为是时候再次询问并获得一些更清晰的解释)

5
一行Python代码可以知道其缩进嵌套级别吗?
从这样的事情: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) 我想得到这样的东西: 1 2 3 代码可以这样读取吗? 我想要的只是更多嵌套代码部分的输出。以使代码易于阅读的方式,使输出易于阅读。 当然,我可以使用eg手动实现此功能.format(),但是我想到的是自定义打印功能,该功能print(i*' ' + string)在哪里i是缩进级别。这将是使终端上的输出可读的一种快速方法。 有没有更好的方法可以避免麻烦的手动格式化?

4
MySQL是否应将其时区设置为UTC?
/server/191331/should-servers-have-their-timezone-set-to-gmt-utc的后续问题 应该将MySQL时区设置为UTC还是将其设置为与服务器或PHP相同的时区?(如果不是UTC) 优缺点都有什么?
149 mysql  time  utc 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.