from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
from django.contrib.auth.views import login, logout
from django.conf import settings
urlpatterns = patterns('',
url(r'^$', 'myapp.views.home', name='home'),
url(r'^admin/', include(admin.site.urls)),
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
url(r'^messages_by_author/([^/]+)/$', 'myapp.views.by_author'),
url(r'^accounts/login/$', login, name='login'),
url(r'^accounts/logout/$', logout, {'next_page': '/'}, name='logout'),
)
LOGIN_REDIRECT_URL = '/'{% extends "base.html" %}
{% block body %}
{% if form.errors %}
<p class="error">Неправильно введен или логин, или пароль</p>
{% endif %}
<form action="" method="post">
{% csrf_token %}
<label for="username">Логин:</label>
<input type="text" name="username" value="" id="username">
<label for="password">Пароль:</label>
<input type="password" name="password" value="" id="password">
<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next|escape }}" />
</form>
{% endblock %}
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div class="user_info">
{% if user.is_authenticated %}
Вы вошли как {{ user }}. <a href="{% url 'logout' %}">Выйти</a>
{% else %}
<a href="{% url 'login' %}">Войти на сайт</a>
{% endif %}
</div>
{% block body %}
{% endblock %}
</body>
</html>
{% extends "base.html" %}
{% block body %}
<h2>Добавляем сообщение на сайт</h2>
{% if error %}
<div style="color: darkred">{{ error }}</div>
{% endif %}
<form action="" method="post">
{% csrf_token %}
<label for="message">Сообщение:</label>
<textarea name="message" colspan="80" rowspan="5"></textarea>
<br>
<input type="submit" value="Отправить" />
</form>
{% endblock %}
url(r'^new_message/$', 'myapp.views.add', name='add'),
<a href="{% url 'add' %}">Отправить новое сообщение</a>
def add(request):
if request.method == 'POST':
if request.user.is_authenticated(): # если пользователь залогинен
m = Message() # создаём новое сообщение
m.author = request.user.username # берём логин пользователя
m.text = request.POST['message'] # добавляем текст из присланной формы
m.save() # сохраняем новое сообщение в базе данных
return HttpResponseRedirect('/') # перенаправляем в корень сервера
else: # если не залогинен, то сообщаем об этом
return render(request, 'add.html', {'error': 'Вы не залогинены'})
else:
return render(request, 'add.html', {})