/ / django admin app zatajená, keď urls.py odkazuje na akékoľvek iné aplikácie - django, amazon-ec2, django-urls, django-autentifikácia

django admin app obscure, keď urls.py odkazuje na inú aplikáciu - django, amazon-ec2, django-urls, django-authentication

zdá sa, že to je z mojej strany nepochopenieako funguje konfigurácia webových adries v django. Myslel som si, že prvý regulárny výraz, ktorý sa zhoduje, je tam, kde sa dostane „odoslaný“, ale ak mám iných v zozname webových adries, pôjde im namiesto prvého.

Obsah projektu urls.py keď je web správcu prístupný:

from django.conf.urls import include, url
from django.contrib import admin
from django.conf.urls.static import static
from django.conf import settings


urlpatterns = [
url(r"^admin/", admin.site.urls),
#url(r"^api/", include("api.urls")),
#url(r"^index", include("limbo.urls")),
#url(r"^polls/", include("polls.urls")),
# url(r"^limbo/", include("limbo.urls")),
#url(r"edit/", include("limbo.urls")),
]  + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

ale keď zruším komentáre 1., 2. alebo posledného riadku na komentár, zobrazí sa chyba:

invalid literal for int() with base 10: ""

Nejaké nápady?

Napríklad, ak zruším komentár, ktorý hovorí url(r"^api/", include("api.urls")),, Dostanem chybu, ktorú som uviedol.
api/urls.py obsah:

from django.conf import settings
from django.conf.urls import url
from django.conf.urls.static import static
from . import views

urlpatterns = [
url(r"^(?:addUse.?[html]{,4})?$", views.addUsageHistory, name="addUsageHistory"),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

a V spätnom sledovaní vidím, že má pôvod v tomto súbore: /home/ec2-user/limbo/limboenv/local/lib/python2.7/site-packages/django/contrib/admin/templates/admin/login.html a cesty dole po komíne (druhý zdola), to vidím v /home/ec2-user/limbo/limboenv/local/lib/python2.7/site-packages/django/utils/regex_helper.py, premenná pattern je nastavený na "(?:addUse\.?[html]{,4})?$, čo je jedna z hodnôt v api/urls.py, Prečo by to vôbec skončilo v api / urls.py? malo to ísť na admin.site.urls skôr, ako to kedy videla r"^api/"

odpovede:

0 pre odpoveď č. 1

ako to tak často býva, prišiel som na to po tak dlhom údere hlavou o stenu, potom hneď ako zverejním otázku na SO, som na to prišiel. pre budúce použitie pomocou ?: na začiatku regulárneho výrazu v aplikácii urls.py je veľmi nebezpečný. Zmenil som svoju aplikáciu urls.py, aby som ju nemal a všetko funguje podľa očakávaní. vidieť moje udpated api/urls.py tu:

from django.conf import settings
from django.conf.urls import url
from django.conf.urls.static import static
from . import views

urlpatterns = [
url(r"^addUse.html$", views.addUsageHistory, name="addUsageHistory"),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)