好吧,这可能是一个非常愚蠢的问题,但我是Python/Django的新手,所以我还不能真正地围绕它的范围概念.现在我正在编写一个中间件类来处理一些东西,我想设置我的视图和模板可以访问的"全局"变量.这样做的"正确"方法是什么?我考虑做过这样的事情:
from django.conf import settings
class BeforeFilter(object):
def process_request(self, request):
settings.my_var = 'Hello World'
return None
Run Code Online (Sandbox Code Playgroud)
from django.conf import settings
from django.http import HttpResponse
def myview(request):
return HttpResponse(settings.my_var)
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但我不确定它是"Django方式"还是"Python方式".
所以,我的问题是:
1.这是正确的方法吗?
2.如果它是正确的方法,添加可以在中间件的实际模板中使用的变量的正确方法是什么?说我想评估一些东西,我想headername
在中间件中将变量设置为"我的站点名称",我希望能够{{ headername }}
在所有模板中进行.按照我现在的方式进行,我必须headername
在每个视图中添加上下文.反正有没有绕过这个?我正在考虑CakePHP的$this->set('headername','My Site Name');
3 行.我使用中间件类作为CakePHP的等价物beforeFilter
,它在每个视图(或CakePHP中的控制器)被调用之前运行.这是正确的做法吗?
4.完全不相关,但这是一个小问题,将一个变量的内容打印到浏览器ala的好方法是print_r
什么?说我想看到里面的所有内容request
都传递到视图中?pprint
答案是答案吗?
如果我这样做......
$('.class1, .class2').hide();
Run Code Online (Sandbox Code Playgroud)
然后将隐藏具有class1或class2的所有项目.
<pre class='class1'>hello1</pre>
<pre class='class2'>hello2</pre>
<pre class='class1 class2'>hello3</pre>
Run Code Online (Sandbox Code Playgroud)
什么是语法,所以只有第3个<pre>
将被隐藏,我想隐藏基于它们同时具有class1和class2的东西.
我创造了这个正则表达式
(www|http://)[^ ]+
Run Code Online (Sandbox Code Playgroud)
匹配每个http:// ...或www ....但我不知道如何使preg_replace工作,我试过
preg_replace('/((www|http://)[^ ]+)/', '<a href="\1">\1</a>', $str);
Run Code Online (Sandbox Code Playgroud)
但它不起作用,结果是空字符串.
我在Oracle 10.2.0.50数据库中有一个物化视图,如下所示:
CREATE MATERIALIZED VIEW mv_cis
NOCACHE
NOLOGGING
NOCOMPRESS
NOPARALLEL
BUILD IMMEDIATE
REFRESH FORCE
ON DEMAND
WITH PRIMARY KEY AS
SELECT component_id, ctn, visible_tag, facility,
SYSTEM, elev, parent, room_number,
remarks, safety_class, seismic, quality_level
FROM v_cis;
Run Code Online (Sandbox Code Playgroud)
相当直接的东西.创建此物化视图后,它将生效并填充我期望的数据.然后我在其表中添加一个约束,如下所示:
ALTER TABLE mv_cis
MODIFY ctn CONSTRAINT chk_cis_ctn_null NOT NULL ENABLE VALIDATE;
Run Code Online (Sandbox Code Playgroud)
这按预期工作,表得到一个新的约束,并且在世界上一切都很好.
但是,我回顾一下物化视图和(使用Toad for Oracle 12)它显示无效.展望该user_mviews
表显示,COMPILE_STATE
它是NEED_COMPILE
和STALENESS
是UNDEFINED
.所以我跑:
ALTER MATERIALIZED VIEW mv_cis COMPILE;
Run Code Online (Sandbox Code Playgroud)
没变.奇怪的是,刷新视图仍然有效,但它让我发疯,它显示无效,并使我的测试计划失败,即使一切看起来都井然有序.那么,我错过了什么?
我有一个看起来像这样的查询:
SELECT OrganizationName, OrganizationID, ReceivableStatus, InvoiceFee
FROM v_InvoicesFreelanceOutstanding
ORDER BY OrganizationID
Run Code Online (Sandbox Code Playgroud)
来自的数据可能如下所示:
OrganizationName OrganizationID ReceivableStatus InvoiceFee ----------------------------------------------------------------------------- Company A 139 60-90 days 672.00 Company A 139 60-90 days 1800.00 Company A 139 over 90 days 1440.00 Company B 264 Current 3559.38 Company B 264 60-90 days 3785.50 Company C 271 60-90 days 446.25 Company C 271 over 90 days 637.50 Company C 271 over 90 days 1126.25
我想最终显示的是这样的(对于上面的数据):
Company Current 30-60 days 60-90 days over 90 days Total ----------------------------------------------------------------------------- Company …
我正在对我的代码进行性能调优,并且惊讶地发现瓶颈不是dom节点插入,而是选择.
这很快:
var row = jquery(rowHTML).appendTo(oThis.parentTable);
Run Code Online (Sandbox Code Playgroud)
但随后在"行"中获取元素的速度很慢:
var checkbox = jquery(".checkbox input", row);
Run Code Online (Sandbox Code Playgroud)
我需要在每一行中获取复选框,以便我可以附加一个事件处理程序.选择该复选框是ALMOST 10X AS SLOW,因为插入整个父行.
我在这做错了什么?
我在使用PHP上传文件时遇到问题.当我提交时,$ _FILES []为空.我觉得这是一个n00b问题:/
我的表格:
<form method="post" action="uploadfile.php">
<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
Image: <input name="ImageFile" type="file" /><br />
<input type="submit" value="Add Image" /><br />
</form>
Run Code Online (Sandbox Code Playgroud)
相关的php.ini:
;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). upload_tmp_dir = "c:\php5\upload\" ; Maximum allowed size for uploaded files. upload_max_filesize = 300M
c:\ php5\upload \可由IUSR_HOSTNAME写入
关于我还应该检查什么的任何想法?
我有一个充满文件的目录,其中一些名字中有一个&符号.我想用&符号重命名所有文件,并用加号(+)替换每个&符号.我正在使用大约10k文件.这样做的最佳方法是什么?
以下PHP变体是否存在任何差异或相关风险?
<? echo "hello world!"; ?>
<?php echo "hello world!"; ?>
<?="hello world!"?>
Run Code Online (Sandbox Code Playgroud)
此外,是否有必要关闭所有脚本 ?>
我正在尝试使用jQuery PrettyPhoto,并且由于某种原因它没有通过id变量..如果有人之前遇到过这个问题并且知道解决方案,那就太棒了!这是代码:
<a href="/store-item-details?id=5&iframe=true&width=800&height=530"
rel="prettyPhoto[iframes]"
title="">
<img src="/images/store/thumbs/'.$item->image.'"
alt="'.$item->name.'"
width="100"
border="0" />
</a>
Run Code Online (Sandbox Code Playgroud)
这是链接(漂亮的照片,点击其中一个缩略图)
http://www.photographicpassions.com/shop?view=products&category=1
这是标签的直接链接:
http://www.photographicpassions.com/store-item-details?id=1&iframe=true&width=800&height=530
请帮忙!:)
jquery ×3
php ×3
file ×2
python ×2
sql ×2
django ×1
dom ×1
file-upload ×1
html ×1
javascript ×1
jython ×1
oracle ×1
preg-replace ×1
regex ×1
rename ×1
sql-server ×1
upload ×1