когда я использую ниже,
<button class="px-2 py-1 rounded bg-red-500 text-white">{{cta}}</button>
это работает. но когда я пробую URL-версию, например:
<a href="{% url 'moneylogs:create' pk %} " >
<div class="px-2 py-1 rounded bg-red-500 text-white">{{cta}}</div>
</a>
произошла ошибка, я предполагаю, что это потому, что pk недействителен.
Обратное для 'create' с аргументами '(' ' ,)' не найдено. Попробован 1 шаблон (ов): ['moneylogs / create / (? P [0-9] +) / $']
Я попытался pk = moneylog.pk, но это также не работает .
мое представление moneylog
class moneylog_create(CreateView):
form_class = forms.CreateMoneylogForm
template_name = "moneylogs/create.html"
def form_valid(self, form):
moneylog = form.save()
moneybook = moneybook_models.Moneybook.objects.get(
pk=self.kwargs["pk"])
form.instance.moneybook = moneybook
moneylog.save()
form.save_m2m()
return redirect(reverse("moneybooks:detail", kwargs={'pk': moneybook.pk}))
, а url moneylog выглядит так:
app_name = "moneylogs"
urlpatterns = [
path("create/<int:pk>/", views.moneylog_create.as_view(), name="create"),
path("update/<int:pk>/", views.moneylog_update.as_view(), name="update"),
path("<int:moneybook.pk>/delete/<int:moneylog.pk>",
views.moneylog_delete, name="delete"),
]
В чем разница между кнопкой и ссылкой? и почему это не работает? Как я могу редактировать в HREF версии?