Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

200
Vistas
Reverse for 'entrypage' with no arguments not found. 1 pattern(s) tried: ['wiki/(?P<title>[^/]+)$']
VIEWS.PY
from django.shortcuts import render
from django.shortcuts import redirect
from django.urls import reverse
from django.http import HttpResponseRedirect
from django import forms
import markdown2

from . import util

class AddPageForm(forms.Form):
    title = forms.CharField(max_length=20)
    content = forms.CharField(widget=forms.Textarea(
        attrs={
            "class": "form-control",
            "placeholder": "Tell us more!"
        })
    )


def add_page(request):
    if request.method == "POST":
        form = AddPageForm(request.POST)
        entries = util.list_entries()
    
    if form.is_valid():
        title = form.cleaned_data['title']
        content = form.cleaned_data['content']
        util.save_entry(title, content)
        
        for entry in entries:
            if title.upper() == entry.upper():
                return render(request, "encyclopedia/errorpage.html")
            else:
                return HttpResponseRedirect(reverse('encyclopedia:entrypage'))
else:
    return render(request, "encyclopedia/addpage.html", {
        "form": AddPageForm()
    })

URLS.PY

app_name = "encyclopedia"

urlpatterns = [
    path("", views.index, name="index"),
    path("wiki/<str:title>", views.entry_page, name="entrypage"),
    path("search", views.search, name="search"),
    path("add_page", views.add_page, name="addpage"),
]

ADDPAGE.HTML

        <form action="{% url 'encyclopedia:addpage' %}" method="post">
        {% csrf_token %}
        {{ form }}
        <input type="submit" value="Submit" class="btn btn-secondary">
    </form>

LAYOUT.HTML

                <div>
                <a href="{% url 'encyclopedia:addpage' %}">Create New Page</a>
            </div>
            <div>

I have tried updating the urls and the views to this but i keep getting error responses

    path("add_page/<str:title>", views.add_page, name="addpage"),
    def add_page(request, title):

Please advise where this error response could be coming from as the above edits is what i saw in some other stackoverflow responses to clear the error but this didn't work for me.

Thank you

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

When you make a redirect to entrypage, you need to specify the title, so:

from django.shortcuts import redirect

def add_page(request):
    if request.method == "POST":
        form = AddPageForm(request.POST)
        entries = util.list_entries()
        if form.is_valid():
            title = form.cleaned_data['title']
            content = form.cleaned_data['content']
            util.save_entry(title, content)
        
            for entry in entries:
                if title.upper() == entry.upper():
                    return render(request, "encyclopedia/errorpage.html")
            #                                   specify title ↓
            return redirect('encyclopedia:entrypage', title=title)
    # …

I would also strongly advise to make use of a database, and not fetch all entries from the utility: a database is optimized to search effective, whereas accessing the list of files takes linear time to search. If you define a database model, you can add db_index=True [Django-doc] to build an index which can boost searching enormously.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda