Es ist mein erstes richtiges Projekt in Django Sende und ich bin irgendwie Noob hier :))kann ein Formular nicht in Django
In meiner Index-Seite ich einige Informationen von dem Benutzer benötigen und es dann zu einem anderen Beitrag anzeigen .
hier, was ich gefunden:
NoReverseMatch at /download/
Reverse for 'progress' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['download/(?P<download_id>[0-9]+)/progress/$']
anzeigen Seite:
class IndexView(generic.TemplateView):
model = Download
template_name = 'download/index.html'
def progress(request, download_link):
download = models.Download(link=download_link, status = 0)
download.save()
return HttpResponseRedirect(reverse('download:detail', args=(download.id,)))
Index Seite:
<form class="download" action="{% url 'download:progress' download_link %}" method="post">
<input type="input" name="download_link" id="download_link" class="input" placeholder="Enter the URL:" value="{{download_link}}" required/>
<input type="submit" class="btn btn-primary" value="Download">
</form>
Modell:
class Download(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
link = models.CharField(max_length=3000)
status = models.IntegerField(default=-1)
URLs:
app_name = 'download'
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
url(r'^(?P<pk>[0-9]+)/results/$', views.ResultsView.as_view(), name='results'),
url(r'^(?P<download_id>[0-9]+)/progress/$', views.progress, name='progress'),
]
Ich bin letzte stabile Django zu diesem Zeitpunkt (v1.10)
Woher kommt 'download_link' Variable in der Vorlage? – ozgur
@ozgur Es kommt aus dem Textfeld –
Sie suchen nach "download_id" in der URL, aber Sie senden stattdessen "download_link". – ozgur