Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

SyntaxError: invalid syntax

0 votes

Après tant d'années, j'essaye enfin de me mettre a Django (ouuuuu)

En suivant gentillement le tuto en français de la doc officiel (bah voui je préfère commencer gentillement en français puis ensuite le refaire en anglais plus tard), me voici à ce code :

import datetime

from django.db import models
from django.utils import timezone

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
    def __str__(self):
        return self.question_text

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0
    def __str__(self):
        return self.choice_text 

Ensuite je passe en mode shell pour faire joujou :

python manage.py shell

et là je me prends un bon vieux syntax error de débutant que je n'arrive pas à résoudre ><' :

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python3.5/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python3.5/site-packages/django/core/management/__init__.py", line 327, in execute
    django.setup()
  File "/usr/lib/python3.5/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/lib/python3.5/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/usr/lib/python3.5/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 661, in exec_module
  File "<frozen importlib._bootstrap_external>", line 767, in get_code
  File "<frozen importlib._bootstrap_external>", line 727, in source_to_code
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/boblinux/programmation_tuto/django/tuto_ex/mysite/polls/models.py", line 18
    def __str__(self):
      ^
SyntaxError: invalid syntax

ps :

python --version
Python 3.5.2

pss :

>>> import django
>>> print(django.get_version())
1.9.9

psss : Surtout restez pas trop loin, dans les jours à venir lorsque mon skill django commencera à peser sur la balance, on pourra parler d'homme à homme en terme de django car marre de ne rien piger à certaines questions sur IE ><' !

pssss : C'est cool les "ps" quand même =D

demandé 14-Oct-2016 par boblinux (3,094 points)

1 Réponse

+3 votes
 
Meilleure réponse

tu as oublié de fermer la parenthèse à la ligne du dessus...

répondu 14-Oct-2016 par bubulle (2,066 points)
sélectionné 15-Oct-2016 par boblinux

Non , je crois qu'il faut un poil plus d'ancienneté, mais vérifie.

en détails tout est là https://www.jetbrains.com/buy/opensource/?product=pycharm

  • You have to be a project lead or core committer to apply
  • Project must be at least 3 months old
  • Project is in active development
  • Project must not provide commercial services or distribute any paid software versions
  • See full restrictions list before applying

tu attends noel et hop :)

mici fox :))))

Si jamais tu persévère avec Atom, essaye le linter Pylama (linter-pylama).

J'ai assez l'habitude des softs JetBrains (faut dire qu'ils gèrent ces mecs), donc le passage au PyCharm est quasi-instinctif, mais je garde sous le coude Pylama pour voir ce que ça donne, merci bien.

La correction par rapport au pep8 a l'air vraiment intéréssante sur Pylama :)

...