This isn't the exact name of the error; I'm sure you all have encountered 
the bad URL error before. But, it tells me it can't find the pet matching 
the query (I'm making a pet website), and it checked the urls in the order 
listed below. I mean, you know, in the order in the urls.py file.

Another url works from the project urls.py file, but this url is in the app 
urls.py file. But it does check the imported urls.

This url should be routing to a form template which is connected to a form 
view to update a photo object in my models.

I'm not sure which files would be relevant to share. Here are the ones I'm 
guessing may help:

project urls.py
from django.contrib import admin
from django.urls import path, include
from . import views
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('home/', views.HomeView.as_view(), name='home_view'),
    path('', include('pet_profile.urls')),
]

app urls.py
from django.contrib import admin
from django.urls import path
from pet_profile import views

urlpatterns = [
    path("pet/<slug:slug>/", views.PetDetailView.as_view(), name = 
"pet_profile"),
    path("owner/<slug:slug>/", views.PetOwnerDetailView.as_view(), name = 
"owner_profile"),
    path("pet/photoupload/", views.PetPhotoUploadView.as_view(), name = 
"photo_upload"),
]
url in question is the bottom one (photo_upload)

template (photo_upload.html)
<!DOCTYPE html>
<html>
    <head>

    </head>
    <body>
        <label>Upload a photo of your pet: <input type="file" /></label>
    </body>
</html>

app views
from django.shortcuts import render
from django.views.generic import (ListView,
                                  DetailView, FormView)
from pet_profile.models import PetOwner, Pet, PetPhoto, PetStory
from pet_profile.forms import PhotoUploadForm

class PetOwnerListView(ListView):
    model = PetOwner
    context_object_name = "owner_list"
    template_name = "home.html"

    
# def all_pet_photos(request):
#     pets = Pet.objects.all()
#     pet_data = {}
#     for pet in pets:
#         pet_data[pet] = PetPhoto.objects.filter(pets=pet)
#     context = {'pet_data': pet_data}
#     return render(request, 'pet_owner_profile.html', context)

class PetOwnerDetailView(DetailView):
    model = PetOwner
    context_object_name = "owner"
    template_name = "pet_owner_profile.html"
    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(**kwargs)
        pets = Pet.objects.all()
        pet_data = {}
        for pet in pets:
            pet_data[pet] = PetPhoto.objects.filter(pets=pet)
        context['pet_data'] = pet_data
        return context

class PetListView(ListView):
    model = Pet
    context_object_name = "pet_list"

class PetDetailView(DetailView):
    model = Pet
    context_object_name = "pet"

class PetPhotoUploadView(FormView):
    template_name = "photo_upload.html"
    form_class = PhotoUploadForm

class PetPhotoListView(ListView):
    model = PetPhoto
    context_object_name = "pet_photo_list"

class PetPhotoDetailView(DetailView):
    model = PetPhoto
    context_object_name = "pet_photo"

class PetStoryListView(ListView):
    model = PetStory
    context_object_name = "pet_story_list"

class PetStoryDetailView(DetailView):
    model = PetStory
    context_object_name = "pet_story"

view in question is PetPhotoUploadView

Thanks in advance.
Michael

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/3c1afbb6-847f-43e0-97ce-c5c8719dfefen%40googlegroups.com.

Reply via email to