URL-адреса регистрации в Django - PullRequest
       26

URL-адреса регистрации в Django

0 голосов
/ 01 августа 2011

Я совсем новичок в Django (имею опыт работы с python) и пытаюсь создать простую веб-страницу (обычные вещи: регистрация, корзина покупок, платежи и т. Д.).

Для этого я использую пакет django-registration и следовал инструкциям на: http://devdoodles.wordpress.com/2009/02/16/user-authentication-with-django-registration/

Скажу сразу, мне это очень понравилось, и оно заработало: страницы регистрации выглядят как админ-панели. Теперь я хотел бы сделать некоторые настройки, и я начал с моего собственного base.html. В django-регистрации у меня есть несколько шаблонов по умолчанию, и шаблоны входа выглядят так:

{% extends "base.html" %}
{% load i18n %}

{% block content %}
<form method="post" action=".">
{{ form.as_p }}

<input type="submit" value="{% trans 'Log in' %}" />
<input type="hidden" name="next" value="{{ next }}" />
</form>

<p>{% trans "Forgot password" %}? <a href="{% url auth_password_reset %}">{% trans   "Reset your account" %}</a>!</p>
<p>{% trans "Not member" %}? <a href="{% url registration_register %}">{% trans  "Register Now" %}</a>!</p>
{% endblock %}

Во-первых, когда я изменил файл base.html на собственный путь, кажется, что страница не отображается должным образом (хотя я вижу текстовое содержимое, но графика отсутствует), и я заметил, что все ссылки пошли на уровень ниже. Например, ссылка на мою домашнюю страницу перешла на mysite.com/accounts/login/Homepage, а не на мой оригинальный mysite.com/Homepage.

Поскольку я понимаю, мои отображения URL-адресов кажутся неправильными, но я не могу найти ссылки URL-адресов conf. Мой текущий URL-адрес выглядит так:

urlpatterns = patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
(r'^$', index),
(r'^Homepage$', index),
(r'^AboutUs$', AboutUs),
(r'^ContactUs$', ContactUs),
(r'^admin/(.*)', admin.site.root),
(r'^accounts/', include('registration.urls')),
(r'^$', direct_to_template,
        { 'template': 'index.html' }, 'index'),

Где найти регистрационные URL-адреса, такие как / account / login и т. Д. И соответствующие сопоставления?

Извините, если это вопрос 101 Джанго!

1 Ответ

0 голосов
/ 02 августа 2011

Регистрация Django поддерживает подключаемые бэкэнды, где URLConf предоставляется бэкэнд-модулем. Вы можете взглянуть на базовые URL-адреса по умолчанию на bitbucket .

Документы django-registration предоставляют довольно приличный обзор того, как настроить свои собственные шаблоны. По сути, вы хотите создать свои собственные версии каждого из шаблонов, перечисленных на этой странице. Django-registration не предоставляет никаких начальных шаблонов, но в документах достаточно ясно, какие переменные контекста доступны для каждого шаблона.

Ваш URLConf выглядит нормально, за исключением того, что вы не хотите, чтобы Django обслуживал ваши медиа-файлы. Предполагая, что вы используете Django 1.3, взгляните на страницу staticfiles в документации . По сути, вы используете {{STATIC_URL}} в своих шаблонах, избавляетесь от записи media / URLConf, и все должно работать на сервере разработки.

...