【问题标题】:Django NoreverseMatch error not found url找不到 Django NoreverseMatch 错误 url
【发布时间】:2018-03-05 05:12:36
【问题描述】:

我已经在寻找带有查看链接的 pass paramater(id),但我收到了这个错误:

我想点击链接并重定向到 modifyPlanteur.html 并使用由 id 查询填充的表单。

但我收到了这个错误:

未找到带有参数“('',)' 的“modifyPlanteur”的反向操作。尝试了 1 种模式:['blog/modifyPlanteur/(?P[0-9]+)$']

ps:对不起,我的英语不好,我是法语,谢谢。

网址项目:

urlpatterns = [
    url(r'^$', views.home, name='home'),
    url(r'^about/$', views.about, name='about'),
    url(r'^contact/$', views.contact, name='contact'),
    url(r'^blog/', include('blog.urls'), name='blog'),
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns

网址应用:

from django.conf.urls import url
from . import views

app_name ='blog'

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^posts/(?P<id>[0-9]+)$', views.show, name='show'),
    url(r'^planteur/$', views.planteur, name='planteur'),
    url(r'^mouvement/$', views.mouvement, name='mouvement'),
    url(r'^ajax/planteur/$', views.searchPlanteur, name='searchPlanteur'),
    url(r'^ajax_query/$', views.ajax_query, name='ajax_query'),
    url(r'^ajax_query/blog/ajax_query.html/$', views.ajax_query, name='ajax_query'),
    url(r'^autocomplete/$', views.autocomplete, name='autocomplete'),
    url(r'^get_planteurs/$', views.get_planteurs, name='get_planteurs'),
    url(r'^modifyPlanteur/(?P<id>[0-9]+)$', views.modifyPlanteur, name='modifyPlanteur'),

]

观看次数:

        def planteur(request):
                planteurs = Planteur.objects.all()
                #instance = get_object_or_404(Planteur, id=17)

                form = PlanteurForm(request.POST or None)

                if form.is_valid():
                        planteur = form.save(commit=False)
                        planteur.save()
                        #envoie = True
                #        form = PlanteurForm()
                #else:
                #   form = PlanteurForm()
                return render(request, 'blog/planteur.html', locals(), { 'planteurs': planteurs})

    def modifyPlanteur(request, id):
        planteurs = Planteur.objects.all()
        instance = get_object_or_404(Planteur, pk=id)
        form = PlanteurForm(request.POST or None, instance=instance)

        if form.is_valid():
            planteur = form.save(commit=False)
            planteur.save()
            envoie = True
            form = PlanteurForm()
            return render(request, 'blog/modifyPlanteur.html', { 'planteurs': planteurs, 'instance': instance})

模板:种植者

{% extends 'blog/base.html' %}

{% block title %}Poyosei|creation planteur{% endblock %}

{% block body %}

    <h1>{{ planteurs|length }} planteurs</h1>

    {% if envoi %} Le planteur a bien été crée !{% endif %}

<table class="table">
    <thead class="thead-dark">
        <tr>
            <th>Id</th>
            <th>Nom</th>
            <th>Prenom</th>
            <th>Pacage</th>
            <th>Siret</th>
            <th>Controle?</th>
        </tr>
    </thead>
        {% csrf_token %}
        {% for p in planteurs %}
    <tbody>
        <tr>
            <td>{{ p.id }}</td>
            <td>{{ p.nom }}</td>
            <td>{{ p.prenom }}</td>
            <td>{{ p.pacage }}</td>
            <td>{{ p.siret }}</td>
            <td>{{ p.controle }}</td>
            <td><a href="{% url 'blog:modifyPlanteur' p.id %}" role="button" class="btn btn-warning" method="post">Editer</a></td>
        </tr>

    </tbody>
        {% endfor %}
</table>
{% endblock %}  

模板修改Planteur:

{% block body %}

    <h1>{{ planteurs|length }} planteurs</h1>

<div class='farmer'>
    <form class='planteur' id='PlanteurForm' a href="{% url 'blog:modifyPlanteur' p.id %}" method="post">

        {% csrf_token %}
        {% for field in form %}

        <div class="form-group">
            <label class='col-sm-4 control-label' for="{{ field.name }}">{{ field.label }}: </label>

            <div class="col-sm-12">

                    {{ field }} 

            </div>
        </div>

        {% endfor %}
        <input type="submit" name="submit" class='btn btn-primary btn-lg' value='Valider'>
    </form>
</div>      

{% endblock %}  

【问题讨论】:

    标签: django url views reverse


    【解决方案1】:

    您忘记添加右斜杠“/”

    url(r'^modifyPlanteur/(?P<id>[0-9]+)/$', views.modifyPlanteur, name='modifyPlanteur'),
    

    【讨论】:

      猜你喜欢
      • 2017-03-14
      • 2016-11-15
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 2015-10-24
      • 2017-08-05
      相关资源
      最近更新 更多