问题列表 - 第1367页

基于User-Agent更改Django模板

我做了一个Django网站,但我喝了Koolaid,我想制作一个iPhone版本.经过深思熟虑,我提出了两个选择:

  1. 制作一个完整的其他网站,例如i.xxxx.com.使用Django的站点框架将其绑定到同一个数据库中.
  2. 找一些读取用户代理的中间件,并动态更改模板目录.

不过,我真的更喜欢选项#2; 我有一些保留意见,主要是因为Django文档不鼓励动态更改设置.我找到了一个可以做我喜欢的片段.我的主要问题是让它尽可能无缝,我希望它对用户来说是自动化和透明的.

还有其他人遇到同样的问题吗?是否有人愿意分享他们如何解决制作iPhone版Django网站的问题?

更新

我使用了中间件和调整模板调用的组合.

对于中间件,我使用了minidetector.我喜欢它,因为它检测到过多的移动用户代理.我所要做的就是在我的视图中检查request.mobile.

对于模板调用调整:

 def check_mobile(request, template_name):
     if request.mobile:
         return 'mobile-%s'%template_name
     return template_name
Run Code Online (Sandbox Code Playgroud)

我使用它来查看我知道我有两个版本的任何视图.

去做:

  • 弄清楚如何在render_to_response的扩展版本中访问request.mobile,这样我就不必使用check_mobile('template_name.html')
  • 如果不存在移动版本,则使用先前的自动回退到常规模板.

python django django-templates django-middleware mobile-website

40
推荐指数
2
解决办法
2万
查看次数

为什么在与UNIX/Linux环境交互时使用UTF-8编码?

我知道这是习惯,但为什么呢?是否存在真正的技术原因,为什么任何其他方式都是一个非常糟糕的想法,还是仅仅基于编码和向后兼容的历史?另外,不使用的危险是什么UTF-8,还有其他一些编码(最值得注意的是UTF-16)?

编辑:通过互动,我主要是指shelllibc.

unix linux encoding

11
推荐指数
2
解决办法
1970
查看次数

发生异常后继续在Visual Studio调试器中

当我调试一个C#程序并且我得到一个异常抛出(由代码抛出或由框架引发)时,IDE停止并让我到我的代码中的相应行.

现在一切都很好.

然后按"F5"继续.从这一刻起,它就像我在无限循环中一样接缝.IDE总是让我回到异常行.我必须Shift+ F5(停止调试/终止程序)才能离开他.

我在这里与一些同事交谈,他们告诉我,这种情况也会发生在他们身上.

发生了什么?

c# debugging exception

44
推荐指数
4
解决办法
1万
查看次数

在Linux/X11上以编程方式启动独立的Adobe Flashplayer

从命令行启动时,独立的flashplayer不会使用.swf文件以外的任何参数.我需要播放器全屏,没有窗口边框等.这可以通过在程序启动后按ctrl + f来完成.我想以编程方式执行此操作,因为我需要它在没有任何人工干预的情况下启动到全屏.

我的猜测是我需要一些如何获得窗口的句柄,然后发送一个看起来像"ctrl + f"键击的事件.

如果它有任何区别,它看起来像flashplayer是一个gtk应用程序,我有安装pygtk的python.

更新(我使用的解决方案......感谢ypnos的回答):

./flashplayer http://example.com/example.swf & sleep 3 && ~/xsendkey -window "Adobe Flash Player 10" Control+F
Run Code Online (Sandbox Code Playgroud)

python linux x11 flash adobe

7
推荐指数
1
解决办法
9867
查看次数

这位ASP.NET顾问知道他在做什么吗?

我们子公司的IT部门有一家咨询公司为他们编写了一个ASP.NET应用程序.现在它已经出现间歇性问题,混淆了当前用户是谁,并且已经知道他错误地向Joe展示了一些Bob的数据.

顾问们被带回来进行故障排除,我们被邀请听取他们的解释.突然发生了两件事.

首先,顾问主管提供了这个伪代码:

void MyFunction()
{
    Session["UserID"] = SomeProprietarySessionManagementLookup();
    Response.Redirect("SomeOtherPage.aspx");
}
Run Code Online (Sandbox Code Playgroud)

他继续说会话变量的赋值是异步的,这似乎是不真实的.对查询函数的调用可以异步执行某些操作,但这似乎是不明智的.

鉴于所谓的异步性,他的理论是在重定向不可避免的ThreadAbort异常被引发之前没有分配会话变量.然后,此故障阻止SomeOtherPage显示正确的用户数据.

其次,他举了一个他推荐的编码最佳实践的例子.而不是写:

int MyFunction(int x, int x)
{
    try 
    {
        return x / y; 
    }
    catch(Exception ex)
    {
        // log it
        throw;
    }
}
Run Code Online (Sandbox Code Playgroud)

他推荐的技术是:

  int MyFunction(int x, int y, out bool isSuccessful)
  {
    isSuccessful = false;

    if (y == 0)
        return 0;

    isSuccessful = true;

    return x / y;
  }
Run Code Online (Sandbox Code Playgroud)

这肯定会起作用,并且在某些情况下从性能角度来看可能更好.

但是,从这些和其他讨论点来看,我们认为这个团队在技术上并不精通.

意见?

c# asp.net exception session-variables

9
推荐指数
5
解决办法
1816
查看次数

您将使用什么报告工具?

我需要一个通过我的C#应用​​程序处理屏幕和打印报告的工具.

我正在寻找简单,标准和强大的.

我需要能够让用户能够使用我自己的GUI选择要显示的列,格式化等,并根据他们的选择动态构建报告.Crystal不适合这里的帐单,因为无法动态添加列(并且无法动态调整列宽).

我正在考虑在我的应用程序中使用带有WebBrowser控件的HTML,但我对打印和打印预览几乎没有控制权.

另一种选择是转到.NET 3.5(我使用2.0)并使用XAML和Flow Documents.

你会用什么?

c# printing report

1
推荐指数
1
解决办法
1830
查看次数

如何在Windows中创建线程安全的单例模式?

我一直在阅读有关线程安全的单例模式:

http://en.wikipedia.org/wiki/Singleton_pattern#C.2B.2B_.28using_pthreads.29

它在底部说,唯一安全的方法是使用pthread_once - 这在Windows上不可用.

这是保证线程安全初始化的唯一方法吗?

我在SO上读过这个帖子:

C++中单例的线程安全延迟构造

并且似乎暗示了原子操作系统级别的交换和比较功能,我在Windows上假设:

http://msdn.microsoft.com/en-us/library/ms683568.aspx

这可以做我想要的吗?

编辑:我想懒惰的初始化,因为只有一个类的实例.

另一个网站上有人提到在命名空间中使用全局(并且他将单例描述为反模式) - 它如何成为"反模式"?

一般承认的答案:
我已经接受了Josh的回答,因为我正在使用Visual Studio 2008 - 注意:对于未来的读者,如果您不使用此编译器(或2005) - 请勿使用接受的答案!

编辑: 除了return语句之外代码工作正常 - 我收到错误:错误C2440:'return':无法从'volatile Singleton*'转换为'Singleton*'.我应该将返回值修改为易失性Singleton*吗?

编辑:显然const_cast <>将删除volatile限定符.再次感谢Josh.

c++ windows singleton

16
推荐指数
2
解决办法
2万
查看次数

巢还是不巢?

前提: 通常在准备新的Ruby on Rails应用程序时,我会绘制有关用户导航的模型和关系.通常我会去一个我需要问自己的地方,不管我是否应该超越通常的"经验法则",不再嵌套1级.有时我觉得需要嵌套,而不是创建另一个命名空间路由和复制工作.
这是一个例子:

型号:用户,公司,位置
用户拥有并且属于许多公司(多对多)
用户拥有并且属于许多地点(多对多)
公司拥有并且属于许多地点(多对多)

路由:
1级嵌套
用户/:user_id/companies/ - 列出与用户user
/:user_id/locations/相关的所有公司 - 列出与用户相关的所有位置
超过1级嵌套
用户/:user_id/companies /:company_id/locations/ - 列出用户的所有公司位置

所以,我的问题是在RoR中嵌套超过1级深度是否合适?是还是不是?为什么?

ruby nested ruby-on-rails

11
推荐指数
1
解决办法
799
查看次数

在.NET中公开成员对象作为属性或方法

在.NET中,如果一个类包含一个类对象的成员,那么该成员是应该作为属性公开还是使用方法公开?

.net methodology properties class

14
推荐指数
2
解决办法
5287
查看次数

如何使用NHibernate将枚举映射到数据库或从数据库映射?

编辑:瑞恩提出了一个很好的观点.我特别希望能够在仍然存储人类可读值的数据库中进行映射.也就是说,我不希望在我的数据库中有一堆枚举整数.

nhibernate enumeration

1
推荐指数
1
解决办法
2665
查看次数