Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Django - No visualizo un template

Estas en el tema de Django - No visualizo un template en el foro de Python en Foros del Web. Hola! Estoy empezando a usar django con django-cms y tengo algunos problemillas :(. Quiero usar la app django.contrib.auth, y para ello he creado un login.html ...
  #1 (permalink)  
Antiguo 07/06/2013, 18:03
 
Fecha de Ingreso: agosto-2012
Ubicación: Union Europea
Mensajes: 23
Antigüedad: 11 años, 7 meses
Puntos: 0
Django - No visualizo un template

Hola! Estoy empezando a usar django con django-cms y tengo algunos problemillas :(.

Quiero usar la app django.contrib.auth, y para ello he creado un login.html tal que asÍ:

Código:
{% extends "base.html" %}

{% block content %}

{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}

<form method="post" action="{% url django.contrib.auth.views.login %}">
{% csrf_token %}
<table>
<tr>
    <td>{{ form.username.label_tag }}</td>
    <td>{{ form.username }}</td>
</tr>
<tr>
    <td>{{ form.password.label_tag }}</td>
    <td>{{ form.password }}</td>
</tr>
</table>

<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</form>

{% endblock %}
El caso es que cuando entro en 127.0.0.1:8000/accounts/login no veo absolutamente nada, simplemente la toolbar del django-cms y todo en blanco... alguien sabe por qué?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 07/06/2013, 18:10
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django - No visualizo un template

Sin el código de la vista asociada a /accounts/login dudo que alguien te pueda ayudar.
  #3 (permalink)  
Antiguo 07/06/2013, 18:13
 
Fecha de Ingreso: agosto-2012
Ubicación: Union Europea
Mensajes: 23
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Django - No visualizo un template

Cierto! jeje, es el que viene predeterminado con django:

Código:
def login(request, template_name='registration/login.html',
          redirect_field_name=REDIRECT_FIELD_NAME,
          authentication_form=AuthenticationForm,
          current_app=None, extra_context=None):
    """
    Displays the login form and handles the login action.
    """
    redirect_to = request.REQUEST.get(redirect_field_name, '')

    if request.method == "POST":
        form = authentication_form(data=request.POST)
        if form.is_valid():

            # Ensure the user-originating redirection url is safe.
            if not is_safe_url(url=redirect_to, host=request.get_host()):
                redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)

            # Okay, security check complete. Log the user in.
            auth_login(request, form.get_user())

            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()

            return HttpResponseRedirect(redirect_to)
    else:
        form = authentication_form(request)

    request.session.set_test_cookie()

    current_site = get_current_site(request)

    context = {
        'form': form,
        redirect_field_name: redirect_to,
        'site': current_site,
        'site_name': current_site.name,
    }
    if extra_context is not None:
        context.update(extra_context)
    return TemplateResponse(request, template_name, context,
                            current_app=current_app)
  #4 (permalink)  
Antiguo 07/06/2013, 18:35
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django - No visualizo un template

Si tu urls tienes:

Código Python:
Ver original
  1. (r'^accounts/login/$', 'django.contrib.auth.views.login'),

Lo único que tienes que hacer es un override.

Código Python:
Ver original
  1. (r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'})

Fuente
  #5 (permalink)  
Antiguo 08/06/2013, 03:08
 
Fecha de Ingreso: agosto-2012
Ubicación: Union Europea
Mensajes: 23
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Django - No visualizo un template

Ya lo tenía así, estas son mis urls:

Código:
urlpatterns = patterns('',
        url(r'^admin/', include(admin.site.urls)),
        url(r'^accounts/', include('django.contrib.auth.urls')),
        url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'registration/login.html'}),
        url(r'^', include('cms.urls')),
    # Examples:
    # url(r'^$', 'KJION.views.home', name='home'),
    # url(r'^KJION/', include('KJION.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
                       
)
Muchas gracias por estar ayudandome!
  #6 (permalink)  
Antiguo 08/06/2013, 12:45
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django - No visualizo un template

Tus URLs deberían mas o menos así:

Código Python:
Ver original
  1. urlpatterns = patterns('',
  2.         url(r'^admin/', include(admin.site.urls)),
  3.         url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}),
  4.         url(r'^accounts/', include('django.contrib.auth.urls')),
  5.  
  6.         url(r'^', include('cms.urls')),
  7.     # Examples:
  8.     # url(r'^$', 'KJION.views.home', name='home'),
  9.     # url(r'^KJION/', include('KJION.foo.urls')),
  10.  
  11.     # Uncomment the admin/doc line below to enable admin documentation:
  12.     # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
  13.                        
  14. )

Etiquetas: django, template
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:18.