J'ai dans mon projet dans le fichier principal urls.py
les éléments suivants:Django Rest Framework - principal HTTP URL/1.1" 404 Not Found
# REST Framework packages
from rest_framework import routers
router = routers.DefaultRouter()
# ... My viewsets serialized
router.register(r'users', UserViewSet)
# ... Another viewsets
urlpatterns = [
url(r'^$', HomeView.as_view(), name='home'),
# Home url in my project
url(r'^', include('userprofiles.urls')),
# Call the userprofiles/urls.py application
url(r'^pacientes/', include('userprofiles.urls', namespace='pacientes')),
# Patients url
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
# Rest frameworks urls
]
Jusqu'à ici, quand je tape dans mon navigateur appelant à mon serveur local http://localhost:8000/api/
Je reçois cette réponse comme:
[08/Dec/2016 16:39:42] "GET /api/ HTTP/1.1" 200 7084
Et mon repos url's
modèles sérialisés apparaissent
Après, j'ai créé un ajout d'URL al dans l'application userprofiles/urls.py
avec une expression régulière de cette façon:
from .views import PatientDetail
urlpatterns = [
url(r'^(?P<slug>[\w\-]+)/$', PatientDetail.as_view(), name='patient_detail'),
]
Et, quand je vais à http://localhost:8000/api/
je reçois cette réponse:
Not Found: /api/
[08/Dec/2016 16:42:26] "GET /api/ HTTP/1.1" 404 1753
Mon repos frameworks URL ne se trouve pas et dans mon navigateur , indiquer que l'URL qui font appel à PatientDetailView est l'origine de ce problème:
Mon Patien tDetailView ont les suivantes:
class PatientDetail(LoginRequiredMixin, DetailView):
model = PatientProfile
template_name = 'patient_detail.html'
context_object_name = 'patientdetail'
def get_context_data(self, **kwargs):
context=super(PatientDetail, self).get_context_data(**kwargs)
# And other actions and validations here in forward ...
Dans mes expressions régulières définies dans userprofiles/urls.py
que je fais:
url(r'^(?P<slug>[\w\-]+)/$', PatientDetail.as_view(), name='patient_detail')
Le PatientProfile modèle ont un champ slug (nom d'utilisateur du patient). Je passe cette limace dans l'url.
En outre je veux que permettez-moi les caractères alphanumériques majuscules et minuscules avec le paramètre [\w\-]
, et permettez des caractères de soulignement et de tiret et beaucoup de fois.
Est-il possible que mon expression régulière soit à l'origine du problème? Que peut-il se passer par rapport à mon /api
django-restframework url être introuvable?