Я бы хотел, чтобы пользователи могли выбирать из формы user
, а затем перенаправлялись на individual/user_slug
. В настоящее время я перенаправляюсь на individual?slug=user_slug
. Я не могу понять, нужно ли мне что-то изменить с помощью формы HTML, сопоставления URL-адресов или самого представления. Любая помощь или руководство будут оценены!
HTML форма
<form action="individual" method="get">
<label for="slug">Choose a person:</label>
<select id="slug" name="slug">
<option value="person_a_slug">Person A</option>
<option value="person_b_slug">Person B</option>
<option value="person_c_slug">Person C</option>
</select>
<input type="submit">
</form>
urls.py
urlpatterns = [
path('individual/<slug:slug>', IndividualView.as_view(), name = 'individual'),
path('', HomePageView.as_view(), name='home'),
]
views.py
class HomePageView(ListView):
model = Person
template_name = 'home.html'
class IndividualView(DetailView):
model = Person
template_name = 'individual.html'
models.py
class Person(models.Model):
name = models.CharField(max_length=200)
description = models.TextField()
slug = models.SlugField(null=True, unique=True)
photo = models.URLField(null=True)
def get_absolute_url(self):
return reverse('individual', kwargs={'slug': self.slug})