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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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