我正在编写一个Django视图,有时从数据库中获取数据,有时从外部API获取数据.
当它来自数据库时,它是一个Django模型实例.必须使用点表示法访问属性.
来自API,数据是字典,可通过下标表示法访问.
在任何一种情况下,都会对数据进行一些处理.
我想避免
if from_DB:
item.image_url='http://example.com/{0}'.format(item.image_id)
else:
item['image_url']='http://example.com/{0}'.format(item['image_id'])
Run Code Online (Sandbox Code Playgroud)
我正试图找到一种更优雅,干燥的方式来做到这一点.
有没有办法通过适用于字典或对象的键来获取/设置?
我有一个表单接受来自PHP用户的URL.
我应该允许或禁止哪些角色?目前我用
$ input = preg_replace("/ [^ a-zA-Z0-9 - \?:#.()\,/ \&\'\\"] /","",$ string);
$输入= SUBSTR($输入,0255);
因此,它被修剪为255个字符,只能包含字母,数字和? - _:#(),&'"/
我应该剥离的任何东西,我不是,或者我正在剥离的东西,可能需要在一个有效的URL?
我正在将一个小的PHP应用程序转换为Django.
一个部分具有长查询字符串,指示窗口小部件的显示方式.有一些必需的参数和几个可选的参数.
目前的网址如下:
app.php?id=102030&size=large&auto=0&bw=1&extra=1
Run Code Online (Sandbox Code Playgroud)
id和size是必需的,但auto,bw和extra是可选的.如果没有指定,我会使用默认值.
我的第一个想法是使用所需的信息,ID和大小制作一个django URL模式:
url(r'^/app/(P?<id>)\d+/(P?<size>)\w+$',app.project.views.widget,name='swidget')
Run Code Online (Sandbox Code Playgroud)
可选参数将是一个查询字符串,如
/app/102030/large?auto=0&bw=1&extra=0
Run Code Online (Sandbox Code Playgroud)
将GET参数与Django中的URL conf中定义的参数混合是一种常见做法吗?或者我应该这样做
url(r'^/app/(P?<id>)\d+/(P?<size>)\w+/(P?<auto>)\d/(P?<bw>)\d/(P?<extra>)\d[/]?,'app.project.views.widget,name='swidget')
#so it would look like:
/app/102030/large/0/1/0/
Run Code Online (Sandbox Code Playgroud)
任何关于最佳实践或问题的建议都要记住这两种风格,我们对此表示赞赏!
我如何在cakephp中编写["Content-Type"] ="text/xml"以及我必须包含该文件的文件.
请帮忙.
谢谢.
在其他语言中
for?i=0; i<10; i++){
if(...){
i = 4;
}
}
Run Code Online (Sandbox Code Playgroud)
循环会上升,但在python中,它不起作用
for i in range(1, 11):
if ...:
i = 4
Run Code Online (Sandbox Code Playgroud)
那么我可以用'for'循环吗?
我有一个.php文件,其中添加了一个简单的代码:
<?php
header("Location:http//www.google.com");
?>
Run Code Online (Sandbox Code Playgroud)
当我运行此代码,然后打开google.com而不是打开一个下载文件,这与我的php文件相同.
这就是我希望用户能够:
所以我用以下.htaccess创建了这个目录
Allow from all
DirectoryIndex .x
php_flag engine off
Options -Indexes
Options -ExecCGI
AddType text/plain .html .htm .shtml .php .php3 .php5 .phtml .phtm .pl .py .cgi
ForceType applicaton/octet-stream
Run Code Online (Sandbox Code Playgroud)
我的问题是,这是安全的吗?
如果我有下表:
<tr class="alternate">
<td>{$order.titel}</td>
<td>{$order.auteur}</td>
<td>€{$order.prijs}</td>
<td>{$order.aantal}</td>
<td>€ {$order.aantal*$order.prijs}</td>
<tr>
Run Code Online (Sandbox Code Playgroud)
在jquery里面,我目前已经选择了第4个td,如何从第一个td中获取数据,记住我从第4个td开始查看(例如,第4个td是'this')?
我在Python 2.6上有一个包含与此类似的部分的脚本:
import sys
list_id='cow'
prev=[0,'cow']
try:
if list_id==prev[1]:
print '{0} is the same as {1}'.format(list_id,prev[1])
sys.exit(0)
except:
print 'exception occurred, exiting with error'
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
我注意到虽然它打印的是"相同"的行,但它也会记录异常!
如果删除try/except块,则解释器不会显示错误.如果捕获到ValueError之类的特定错误,则不执行except块.
import sys
list_id='cow'
prev=[0,'cow']
try:
if list_id==prev[1]:
print '{0} is the same as {1}'.format(list_id,prev[1])
sys.exit(0)
except Exception as k:
print 'exception occurred, exiting with error. Exception is:'
print k.args
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
不执行except块,并且该过程以返回码0结束.因此,异常在层次结构中的异常之上?
import sys
list_id='cow'
prev=[0,'cow']
try:
if list_id==prev[1]:
print '{0} is the same as {1}'.format(list_id,prev[1])
sys.exit(0)
except BaseException as k:
print 'exception occurred, …Run Code Online (Sandbox Code Playgroud)