为什么下面代码中p和p8不同?
View 函数的开头(在名为“proteinSearch”的 Django 应用程序的文件 views.py 中,模型名为“Protein”,具有名为“description”的字段):
def searchForProteins2(request, searchStr):
p8 = Protein.objects.filter( description__icontains=searchStr)
#Why doesn't this work?????
p = Protein.objects.filter( description__icontains=searchStr)
import pdb; pdb.set_trace()
在 pdb 中交互:
(Pdb) searchStr
u'centr'
(Pdb) p8
[<Protein: IPI00657962.1>, <Protein: IPI00479143.2>, <Protein: IPI00477050.4>, <Protein: IPI00220625.1>,
95.2>]
(Pdb) p
*** SyntaxError: SyntaxError('unexpected EOF while parsing', ('<string>', 0, 0, ''))
最佳答案
当您处于 Debug模式(pdb 或 ipdb REPL)时,'p' 用于特定功能,即计算表达式 expr。
喜欢,
ipdb> x = 1
ipdb> p x
1
ipdb> p x==True
True
ipdb> p x==1
True
在 Django 中,'p' 只是表示一个变量。
如果你想打印 'p' 变量的值,试试,
ipdb> p p
:)
关于python - 'p' 在 Django 中有特殊含义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1880753/