我正在尝试重新创建djangos QueryDict功能,并创建一个可以给定Map的对象,它是对象中的私有变量,getters/setter用于动态地从地图中提取.我已经设法重新创建它的get()方法,但我迷失了动态获取值.这是我到目前为止:
class QueryMap {
Map _data;
QueryMap(Map this._data);
dynamic get(String key, [var defaultValue]) {
if(this._data.containsKey(key)) {
return this._data[key];
} else if(defaultValue) {
return defaultValue;
} else {
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是关于它是如何工作的djangos页面:https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.QueryDict .的GetItem
我找不到有关专门执行此操作的任何信息,但我基本上是在尝试捕获类似以下位置的信息:
http://domain.com/project/Content/Images/image.png
Run Code Online (Sandbox Code Playgroud)
我希望它像这样指向根:
/var/www/$project/Content/Images/image.png
Run Code Online (Sandbox Code Playgroud)
这是我试图放在一起的,但是似乎没有用:
location ~ ^/(?<project>.+)/Content/^(?<content>.+)$ {
root /var/www/$project/Content/$content;
}
Run Code Online (Sandbox Code Playgroud)
我似乎并没有抓住这个位置,因为我收到一个404错误,该错误是通过PHP页面设置的,该页面在/的位置具有try_files。这使我认为正则表达式是错误的,但我不确定。
我正在做一个dart的小实验,我找不到一种方法来确定变量是否是"可调用的"而没有显式检查每个类型(String,int,bool,ect)并猜测它是否可调用如果它是无那些.我还尝试了一下try/catch,这对我来说似乎是错的.
什么是正确的方式或至少是做出决定的最佳方式?
这是我做的一个例子来展示我想要实现的目标:https: //gist.github.com/digitalfiz/3f431dc07ca761389062