我目前正在开发我的第一个网站,这是一个dna到蛋白质的翻译。它的作用是你输入一个可以被3整除的字母,如果这个链存在,它就会被翻译成一个蛋白质
不管怎么说,这部分代码工作得很好,我甚至可以说它看起来超级像Python。现在,我正在用django消息引发一些错误消息。 这里是指向文档的链接:https://docs.djangoproject.com/en/3.1/ref/contrib/messages/
我想做的是,当你输入一个不能被3整除的字母数时,我调用message.error来告诉你这个链是无效的
以下是代码和方法调用,以备需要:
class TranslatorView(View):
def build_protein(self, request, phrase):
protein = []
i = 0
while i < len(phrase):
codon = phrase[i: i + 3]
amino = self.translate_amino(codon)
if amino:
protein.append(amino)
else:
print(f"The codon {codon} is not in self.mapper_1")
i += 3
if len(phrase) % 3:
messages.error(request, "INVALID DNA CHAIN")
return protein
def get(self, request, *args, **kwargs):
return render(request, 'main/translator.html')
def post(self, request, *args, **kwargs):
phrase = request.POST.get('text', 'translation')
protein = request.POST.get('text','protein')
return render(request, self.template_name, {'translation': self.translate(phrase), 'protein': ", ".join(self.build_protein(protein))})
但是,出现以下pylint错误:
方法调用中的参数“短语”没有值(pylint参数没有值)
我一直在读关于它的书,他们说你可以通过禁用pylint来解决它。然而,我希望有另一种解决方案,它不一定意味着禁用pylint
也许改变了一些关于方法调用的东西,我真的不知道
该错误是由于代码最后一行中的表达式导致的:
self.build_protein(protein)
事实上,它缺少“短语”参数的值。您可能希望这样:
self.build_protein(protein, phrase)
相关问题 更多 >
编程相关推荐