<MyRusakov.ru />

Создание сайтов на Django

Создание сайтов на Django

Данный курс научит Вас создавать сайты на очень мощном фреймворке – Django. Курс состоит из 9 разделов, в которых Вы с нуля освоите данный фреймворк на примере создания полноценного Интернет-магазина.

В рамках многочисленных упражнений Вы так же создадите свой собственный сайт, что даст Вам ту необходимую практику для закрепления материала, а также полноценную серьёзную работу для своего портфолио.

Помимо самого курса Вас ждёт ещё и бесплатный ценный Бонус: «Unit-тестирование сайта на Django». В этом Бонусе Вы узнаете, как можно написать автоматические тесты для проекта на Django. Это позволит находить оперативно ошибки, а также даст возможность в будущем добавлять новый функционал, не боясь что-то сломать в старом.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Создание движка на MVC. Начинам делать систему распределения прав пользователей.

Создание движка на MVC. Начинам делать систему распределения прав пользователей.

Всем привет! Продолжаем заниматься совершенствованием нашей CMS и нашего движка. Сегодня мы будем заниматься системой прав пользователей.

Создайте дополнительное поле role в таблице users. Его тип будет ENUM, а значения будут 'default','admin','owner'. По умолчанию поставьте значение 'default'.

Пользователю jesse поставьте роль в значение 'owner', создайте нового пользователя с логином joe и паролем таким же, как и у пользователя jesse. Т.е. просто скопируйте MD5 хэш поля password у пользователя jesse и вставьте его в поле password пользователя joe. Ему значение поставьте 'default'.

Откройте файл login_model.php, перейдите к методу run и после выполнения метода execute пропишите следующее:

$data = $sth->fetch();

Также, не забудьте добавить поле role в sql запросе выше.

И, конечно же, добавьте это в сессию сразу после инициализации.

Session::set('role', $data['role']);

Теперь откроем файл header.php и немного изменим код, который находится внутри блока с id=header.

<?php if(Session::get('loggedIn') == false):?>
  <a href="<?php echo URL; ?>index">Index</a>
  <a href="<?php echo URL; ?>help">Help</a>
<?php endif; ?>
<?php if(Session::get('loggedIn') == true):?>
  <a href="<?php echo URL; ?>dashboard">Dashboard</a>
  <?php if(Session::get('role') == 'owner'):?>
  <a href="<?php echo URL; ?>user">Users</a>
  <?php endif; ?>
  <a href="<?php echo URL; ?>dashboard/logout">Logout</a>
<?php else: ?>
  <a href="<?php echo URL; ?>login">Login</a>
<?php endif; ?>

Теперь полностью скопируйте файл dashboard.php в папке controllers и создайте новый файл user.php в той же папке. Вставьте скопированный код в этот файл. Измените название класса на User.

После определения переменной $logged пропишем следующий код.

// ...
$role = Session::get('role');
if($logged == true || $role != 'owner') {
// ...

Удалите строчку

$this->view->js = array('dashboard/js/default.js');

И все остальное, кроме метода index. В методе index нужно изменить аргумент метода render.

$this->view->render('user/index');

Теперь создадим папку user в папке view, а в папке user создадим папку js. Создадим файл index.php.

В файле index.php пропишем следующее:

<h1>User</h1>

Откроем файл dashboard.php в папке controllers и немного изменим метод logout.

public function logout() {
  Session::destroy();
  header('Location: '.URL.'login');
  exit();
}

Ну, думаю, пока остановимся на этом, а в следующей статье продолжим делать систему прав пользователей.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (3):

Towan Towan 10.09.2014 19:55:33

Приветствую, хотелось бы увидеть по быстрее следующий выпуск. И хотел спросить(то ли дать совет) ), насчет роутинга, почему бы к примеру сделать не так: $url = explode('/', $_SERVER['REQUEST_URI']); if (!empty($url[1])) $controller_name = $url[1]; if (!empty($url[2])) $action_name = $url[2]; if (!empty($url[3])) $param_name = $url[3];

Ответить

Towan Towan 25.09.2014 21:04:42

Почему вы молчите?

Ответить

Ljubin Ljubin 12.09.2015 17:53:14

Спился и его уволили.))

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.