Question

Nouveau sur Python et Django .Je veux comprendre le code du module d'enregistrement Django pour cela, je veux déboguer la valeur dans le code. Alors je suis coincé ici

i = path.rfind('.')
    module, attr = path[:i], path[i+1:]

print {i}
#or
import pdb; pdb.set_trace()

Mon formulaire d'inscription ne s'affiche pas et donne une erreur.

IndentationError at /accounts/register/
unexpected indent (__init__.py, line 19)
Request Method: GET
Request URL:    http://50.56.78.125:8000/accounts/register/
Django Version: 1.3.1
Exception Type: IndentationError
Exception Value:    
unexpected indent (__init__.py, line 19)

Comment puis-je déboguer ou voir la valeur de i.

Ceci est le code:

i = path.rfind('.')
    module, attr = path[:i], path[i+1:]
    try:
        mod = import_module(module)
    except ImportError, e:
        raise ImproperlyConfigured('Error loading registration backend %s: "%s"' % (module, e))
    try:
        backend_class = getattr(mod, attr)
    except AttributeError:
        raise ImproperlyConfigured('Module "%s" does not define a registration backend named "%s"' % (module, attr))
    return backend_class()
Était-ce utile?

La solution

Les indentations comptent beaucoup en Python, et comme l'erreur le suggère, vous avez un problème d'indentation. Vous ne devez vous informer que lors de la création d'un nouveau bloc de code, par exemple après if, for ou while instructions.

Retirez simplement les espaces avant module:

i = path.rfind('.')
module, attr = path[:i], path[i+1:]

print i
#or
import pdb; pdb.set_trace()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top