Skip to content

¿Como puedo solucionar: Exception Value: The view blog.views.compartir_comentario didn't return an HttpResponse object. It returned None instead.? #17

@WmMM12

Description

@WmMM12

Tengo el siguiente error:

Environment:

Request Method: GET
Request URL: http://127.0.0.1:8000/blog/7/compartir/

Django Version: 3.2.9
Python Version: 3.10.0
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']

Traceback (most recent call last):
File "C:\Users\wilde\OneDrive\Desktop\DD - WEB\PythonProjects\env01\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\wilde\OneDrive\Desktop\DD - WEB\PythonProjects\env01\lib\site-packages\django\core\handlers\base.py", line 188, in _get_response
self.check_response(response, callback)
File "C:\Users\wilde\OneDrive\Desktop\DD - WEB\PythonProjects\env01\lib\site-packages\django\core\handlers\base.py", line 309, in check_response
raise ValueError(

Exception Type: ValueError at /blog/7/compartir/
Exception Value: The view blog.views.compartir_comentario didn't return an HttpResponse object. It returned None instead.

Mis códigos:

forms.py:

    from django import forms
    
    class FormularioEmailAnuncios(forms.Form):
        nombre = forms.CharField(max_length=25)
        email = forms.EmailField()
        para = forms.EmailField()
        comentarios = forms.CharField(required=False,
        widget= forms.Textarea)

 


Compartir.html:

    {% extends "../base.html" %}
    
    {% block titulo %} Compartir un comentario {% endblock  %}
    
    {% block content %}
    
        {% if enviado %}
    
            <h1>El e-mail se ha enviado correctamente</h1>
    
            <p>
                "{{ comentario.titulo }}" fue enviado correctamente a {{ formulario.cleaned_data.para }}
            </p>
    
        {% else %}
    
            <h1>Compartir "{{ comentario.titulo }}" por email </h1>
    
            <form method='post'>
                {{ formulario.as_p }}
                {% csrf_token %} <!--Para prevenir ataques cross-site-->
                <input type='submit' value='Enviar e-mail'>
            </form>
    
        {% endif %}
    
    {% endblock %}
    
View compartir_comentario:

    def compartir_comentario(request, comentario_id): 
    
        comentario = get_object_or_404(Anuncio, id=comentario_id, estado='publicado')
    
        enviado = False
    
        
    
        if request.method == 'POST':
            
            formulario = FormularioEmailAnuncios(request.POST)
            
            if formulario.is_valid():
    
                datos = formulario.cleaned_data
    
                comentario_url = request.build_absolute_uri(comentario.get_absolute_url())
    
                asunto = f"{datos['nombre']} te recomienda que leas {comentario.titulo}"
    
                mensaje = f"Leer {comentario.titulo} en {comentario_url} \n\n los comentarios de {datos['nombre']} : {datos['comentarios']} "
    
                send_mail(asunto, mensaje, 'xxxxxxx@xxxx.xxx', [datos ['para']])
    
                enviado = True
            
            else:
                formulario = FormularioEmailAnuncios() #es un GET que muestra el formulario limpio
            
            return render(request, 
            'blog/post/compartir.html',
            {'comentario': comentario,
            'formulario':formulario,
            'enviado':enviado})

Al intentar compartir un comentario, así:

[![Ejemplo compartir comentario via Email][1]][1]
[1]: https://i.stack.imgur.com/mGem0.png

Obtengo el siguiente resultado:
Error Resultante

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions