上下文通过URL传递字符串

时间:2015-01-15 21:41:11

标签: python django

我试图将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

0 个答案:

没有答案