似乎所有编程语言都使用逗号(,)来分隔函数参数.
为什么他们不使用空格呢?
我是一名经验丰富的程序员,但在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 2.7然后IDLE正在工作.我卸载它并安装了Python 3.1.
现在闲置无法启动.我该怎么办才能让它运转起来?
注意:我试过c:\ Python31\pythonw.exe c:\ Python31\Lib\idlelib\idle.py
我卸载了3.1并安装回2.7,不能正常工作......
我看到一些人在我之前有这个问题,但是在旧版本的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的身份验证执行以下操作:
我认为自定义auth后端将是解决方案.
我可以完成我想要的大部分工作,但我想记录进行尝试的用户的IP和REMOTE_HOST.
如何在auth后端访问请求对象?
谢谢
假设我有以下规则
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获取它?
这可能是一个愚蠢的问题,但我无法在任何地方找到答案.我是一个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属性,那么我将无法在其中添加任何其他文件句柄.
我正在尝试构建自定义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.
我是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源头很长一段时间了,但就是不明白!这里发生了什么?理解"大创意"可能会帮助我回答这些具体问题:
workbench功能)中访问Ring环境?例如,假设我想访问HTTP_ACCEPT标头或请求/中间件的其他部分?{form-params :form-params})?在解构时我可以使用哪些关键字?我真的很喜欢Clojure,但我很难过!
这可能是一个简单的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仍然会被退回.
asp.net-mvc ×2
django ×2
python ×2
syntax ×2
attributes ×1
clojure ×1
compojure ×1
django-admin ×1
haskell ×1
python-idle ×1
sql ×1
where-clause ×1
windows-7 ×1