我试图将molfile作为字符串传递给我的模板,该模板是从SMILES字符串生成的,这样我就可以显示化学结构。
class CompoundView(DetailView):
template_name = 'CompoundDisplay.html'
model = Compound
def get_context_data(self, **kwargs):
context = super(CompoundView, self).get_context_data(**kwargs)
context_object_name = self.get_context_object_name(self.object)
comp_pk = self.kwargs['pk']
if context_object_name:
context[context_object_name] = self.object
comp_id = Compound.objects.get(pk=comp_pk)
cursor = Smile.objects.get(compound_fk=comp_id.compound_ID)
smile = cursor.smiles
m = Chem.MolFromSmiles(smile)
mol = Chem.MolToMolBlock(m)
correct_mol = mol.replace('\n', '\\n')
context['calc_factors'] = cursor
context['mols'] = correct_mol
context.update(kwargs)
return context
一切都工作正常,除了mol字符串,它通过GET传递到页面,最后用url显示,这显然不起作用。 CBV中有没有办法将其加载为POST?或者在其他地方我出错了?
[15 / Jan / 2015 11:20:27]" GET / compound / compound / 298 / RDKit%20%20%20%20%20%20%20%20%20%20%2044 %2045%20%200%20%200%20%200%20%200%20%200%20%200%20%200%20%200999%20V2000%20%20%20%200.0000%20%20%20 %200.0000%20%20%20%200.0000%20O%20%20%200%20%200%20%200%20%200%20%200%20%... ... 2043%20%201%20%200 %2043%2044%20%202%20%200%2043%20%202%20%201%20%200%2039%2035%20%201%20%200M%20%20END HTTP / 1.1" 404 18005