2016-05-04 8 views
0

Ich habe gerade mein Django auf Version 1.9.6 aktualisiert. Ich machte die basic tutorial, aber ich habe einen Syntaxfehler in der URLs.py.Fehler im Django-Lernprogramm: urls.py

Hinweis: Ich habe den Namen "mysite" in "Umfragen" und "Umfragen" in "Umfrage" geändert.

Dies ist mein Code in Umfragen/Umfrage/urls.py:

from django.conf.urls import url 

from . import views 

urlpatterns = [ 
    url(r'^, views.index, name='index'), 
] 

Und dies ist die Fehlermeldung:

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x03AE16F0> 
Traceback (most recent call last): 
    File "C:\Python34\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "C:\Python34\lib\site-packages\django\core\management\commands\runserver.py", line 116, in inner_run 
    self.check(display_num_errors=True) 
    File "C:\Python34\lib\site-packages\django\core\management\base.py", line 426, in check 
    include_deployment_checks=include_deployment_checks, 
    File "C:\Python34\lib\site-packages\django\core\checks\registry.py", line 75, in run_checks 
    new_errors = check(app_configs=app_configs) 
    File "C:\Python34\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config 
    return check_resolver(resolver) 
    File "C:\Python34\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver 
    for pattern in resolver.url_patterns: 
    File "C:\Python34\lib\site-packages\django\utils\functional.py", line 33, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "C:\Python34\lib\site-packages\django\core\urlresolvers.py", line 417, in url_patterns 
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 
    File "C:\Python34\lib\site-packages\django\utils\functional.py", line 33, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "C:\Python34\lib\site-packages\django\core\urlresolvers.py", line 410, in urlconf_module 
    return import_module(self.urlconf_name) 
    File "C:\Python34\lib\importlib\__init__.py", line 109, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 2254, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1129, in _exec 
    File "<frozen importlib._bootstrap>", line 1471, in exec_module 
    File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed 
    File "C:\Users\David\Dropbox\Emprendimiento\Gamification\polls\polls\urls.py", line 20, in <module> 
    url(r'^poll/', include('poll.urls')), 
    File "C:\Python34\lib\site-packages\django\conf\urls\__init__.py", line 52, in include 
    urlconf_module = import_module(urlconf_module) 
    File "C:\Python34\lib\importlib\__init__.py", line 109, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 2254, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1129, in _exec 
    File "<frozen importlib._bootstrap>", line 1467, in exec_module 
    File "<frozen importlib._bootstrap>", line 1572, in get_code 
    File "<frozen importlib._bootstrap>", line 1532, in source_to_code 
    File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed 
    File "C:\Users\David\Dropbox\Emprendimiento\Gamification\polls\poll\urls.py", line 6 
    url(r'^, views.index, name='index'), 
SyntaxError: invalid syntax 

Danke für die Hilfe

Antwort

1

Sie verpasst haben heraus Die ' zum Beenden der Zeichenfolge (vor dem Komma in r'^,. Idealerweise sollten Sie auch eine $ hinzufügen:

url(r'^$', views.index, name='index'), 

Beachten Sie, dass Sie Ihren Text-Editor oder IDE-Syntax können Sie erkennen, diese Frage zu helfen, Hervorhebung - beachten Sie, dass in Ihrer Frage, Stack-Überlauf alle ^, views.index, name= in der gleichen Farbe, um zu zeigen, dass es eine einzelne Saite ist.

+0

Vielen Dank @Alasdair. Aber jetzt erhalte ich diese Meldung: "" "" Seite nicht gefunden (404) anfordern Methode: \t Anforderungs-URL GET: \t http://127.0.0.1:8000/ Mit dem URLconf in Umfragen definiert. URLs, Django versuchte diese URL-Muster, in dieser Reihenfolge: ^ poll/ ^ admin/ Die aktuelle URL,, traf keine dieser. Sie sehen diesen Fehler, weil Sie DEBUG = True in Ihrer Django-Einstellungsdatei haben. Ändern Sie das in False, und Django zeigt eine Standard 404-Seite an. Ihre Antwort ist sinnvoll, aber ich habe nur kopiert und eingefügt –

+0

Das erwartet 404. Sie haben noch keine URL für '/' definiert, Sie haben es für '/ poll /' definiert (wegen der include) .Das tutorial sagt Ihnen, dass Sie zu "http: // localhost: 8000/polls /', nicht "http: // localhost: 8000" gehen. In Ihrem Fall gehen Sie zu "http: // localhost: 8000/poll/', oder ändere das Include in'^polls/''. – Alasdair

+0

Natürlich !, vielen Dank @Alasdair. Du hast mir Stunden gespart. –