问题列表 - 第32821页

为什么编程语言使用逗号分隔函数参数?

似乎所有编程语言都使用逗号(,)来分隔函数参数.

为什么他们不使用空格呢?

syntax programming-languages

19
推荐指数
6
解决办法
3403
查看次数

你用什么技巧来避免被python空格语法绊倒?

我是一名经验丰富的程序员,但在python中仍然有点绿色.我刚刚被缩进错误抓住了,这花费了我大量的调试时间.我想知道经验丰富的python程序员做了什么来避免首先出现这样的问题.

这是代码(一个更大的程序的一部分):

class Wizvar():

    def select(self):
        self.selected = True

    def unselect(self):
        self.selected = False

        value = None
Run Code Online (Sandbox Code Playgroud)

问题是'value = None'应该缩进一级.实际上,每次调用unselect方法时,变量都会被破坏,而不是只变一次.我多次盯着这看,却没有看到什么问题.

python syntax

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

Python IDLE没有在Windows 7上启动

我以前使用Python 2.7然后IDLE正在工作.我卸载它并安装了Python 3.1.
现在闲置无法启动.我该怎么办才能让它运转起来?

注意:我试过c:\ Python31\pythonw.exe c:\ Python31\Lib\idlelib\idle.py
我卸载了3.1并安装回2.7,不能正常工作......

python windows-7 python-idle

7
推荐指数
3
解决办法
6万
查看次数

Django unique_together不能与ForeignKey = None一起使用

我看到一些人在我之前有这个问题,但是在旧版本的Django上,我正在运行1.2.1.

我的模型看起来像:

class Category(models.Model):
 objects = CategoryManager()

 name = models.CharField(max_length=30, blank=False, null=False)
 parent = models.ForeignKey('self', null=True, blank=True, help_text=_('The direct parent category.'))

 class Meta:
  unique_together = ('name', 'parent')
Run Code Online (Sandbox Code Playgroud)

每当我尝试在管理员中保存父级设置为"无"的类别时,如果有另一个具有相同名称且父级设置为"无"的类别,它仍然有效.

关于如何优雅地解决这个问题的想法?

django django-models django-admin

8
推荐指数
2
解决办法
3633
查看次数

如何在django自定义身份验证后端访问请求?

我想用django的身份验证执行以下操作:

  • 记录错误的登录尝试
  • 在'x'次错误登录尝试后暂时锁定帐户
  • 登录成功登录.

我认为自定义auth后端将是解决方案.

我可以完成我想要的大部分工作,但我想记录进行尝试的用户的IP和REMOTE_HOST.

如何在auth后端访问请求对象?

谢谢

authentication django

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

ASP.NET MVC:如何在路由时获取Request.QueryString值

假设我有以下规则

routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
Run Code Online (Sandbox Code Playgroud)

并在控制器中

public ActionResult Forums(int id)
    {
        Response.Write(id); // works
        Response.Write(Request.QueryString["id"]); // doesn't

        return View();
    }
Run Code Online (Sandbox Code Playgroud)

如何使用Request.QueryString获取它?

asp.net-mvc

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

Stdin作为IO句柄

这可能是一个愚蠢的问题,但我无法在任何地方找到答案.我是一个Haskell新手,我遇到了I/O问题.

我有这个结构:

data SrcFile = SrcFile (IO Handle) String

srcFileHandle :: SrcFile -> IO Handle
srcFileHandle (SrcFile handle _) = handle

srcFileLine :: SrcFile -> String
srcFileLine (SrcFile _ string) = string
Run Code Online (Sandbox Code Playgroud)

现在的问题是我不知道如何将stdin/stderr/stdout分配给它,因为stdin等是Handler,没有IO处理程序.如果我使结构具有IO Handle的Handle属性,那么我将无法在其中添加任何其他文件句柄.

haskell

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

在自定义Authorize属性中覆盖AuthorizeCore会导致"找不到合适的方法来覆盖"错误

我正在尝试构建自定义AuthorizeAttribute,所以在我的Core项目(类库)中我有这样的代码:

using System;
using System.Web;
using System.Web.Mvc;
using IVC.Core.Web;
using System.Linq;

namespace IVC.Core.Attributes
{
    public class TimeShareAuthorizeAttribute : AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            if(!httpContext.Request.IsAuthenticated)
                return false;

            var rolesProvider = System.Web.Security.Roles.Providers["TimeShareRoleProvider"];

            string[] roles = rolesProvider.GetRolesForUser(httpContext.User.Identity.Name);

            if(roles.Contains(Website.Roles.RegisteredClient, StringComparer.OrdinalIgnoreCase))
            {
                return true;
            }

            return false;
        }

        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.Result = new RedirectResult("/TimeShare/Account/LogOn");

            base.HandleUnauthorizedRequest(filterContext);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试构建该东西时,我收到此错误:错误2'IVC.Core.Attributes.TimeShareAuthorizeAttribute.AuthorizeCore(System.Web.HttpContextBase)':找不到合适的方法来覆盖 ...

我在这里错过了什么吗?我已经搜索了所有网站,但我找到的每个网站都告诉我要完成我在这里所做的事情.我正在使用mvc2 btw.

  • 编辑添加:如果我在同一个解决方案中将类移动到mvc项目,则没有编译器错误.

asp.net-mvc attributes authorization

28
推荐指数
3
解决办法
3万
查看次数

组合路线背后的"大创意"是什么?

我是Clojure的新手,并且一直在使用Compojure编写基本的Web应用程序.不过,我正在用Compojure的defroutes语法碰壁,我认为我需要理解它背后的"如何"和"为什么".

看起来像Ring样式的应用程序以HTTP请求映射开始,然后只是通过一系列中间件函数传递请求,直到它被转换为响应映射,然后将其发送回浏览器.对于开发人员来说,这种风格似乎太"低级",因此需要像Compojure这样的工具.我可以看到在其他软件生态系统中需要更多的抽象,尤其是Python的WSGI.

问题是我不了解Compojure的方法.我们采用以下defroutesS表达式:

(defroutes main-routes
  (GET "/"  [] (workbench))
  (POST "/save" {form-params :form-params} (str form-params))
  (GET "/test" [& more] (str "<pre>" more "</pre>"))
  (GET ["/:filename" :filename #".*"] [filename]
    (response/file-response filename {:root "./static"}))
  (ANY "*"  [] "<h1>Page not found.</h1>"))
Run Code Online (Sandbox Code Playgroud)

我知道理解所有这些的关键在于一些宏观伏都教,但我还没有完全理解宏(还).我已经盯着defroutes源头很长一段时间了,但就是不明白!这里发生了什么?理解"大创意"可能会帮助我回答这些具体问题:

  1. 如何从路由功能(例如workbench功能)中访问Ring环境?例如,假设我想访问HTTP_ACCEPT标头或请求/中间件的其他部分?
  2. 什么是解构({form-params :form-params})?在解构时我可以使用哪些关键字?

我真的很喜欢Clojure,但我很难过!

clojure compojure

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

多行SQL Where子句

这可能是一个简单的SQL语句,但是我已经有一段时间了,因为我已经完成了SQL并且我遇到了问题.我有这个表设计:

 ID   PositionId    Qty     LeagueId
 1        1          1         5
 2        3          2         5
 3        8          5         2
 4        1          6         4
Run Code Online (Sandbox Code Playgroud)

我需要得到的是具有特定PositionId和Qty的所有行.就像是:

 SELECT       ID, PositionId, LeagueId, Qty
 FROM         Lineups
 WHERE        (PositionId = 1 AND Qty = 1) AND (PositionId = 3 AND Qty = 2)
Run Code Online (Sandbox Code Playgroud)

我想要获得的是LeagueId 5返回,因为它的PositionId为1,数量为1,PositionId为3和数量2.我不想使用OR语句,因为如果我将WHERE更改为:

 WHERE (PositionId = 1 AND Qty = 1) OR (PositionId = 3 AND Qty = 1)
Run Code Online (Sandbox Code Playgroud)

那么LeagueId of 5仍然会被退回.

sql where-clause

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