Вступление В первых двух частях мы разобрали основы Web.Python. Но этого мало, чтобы создать хороший сайт. Поэтому следует запомнить ещё несколько параграфов.
Сессии Сессии - важный момент при создании системы управления сайтом. Фактически, это каркас системы пользователей, авторизации и регистрации. Простой пример использования сессий:
class count: def GET(self): session.count +=1 return str(session.count)
class reset: def GET(self): session.kill() return""
if __name__ =="__main__": app.run()
Тут мы проводим операцию прибавления при помощи сессий. Объект с сессиями обрабатывается до загрузки скрипта. При помощи баз данных можно сохранять данные про сессии:
Код
create table sessions ( session_id char(128) UNIQUE NOT NULL, atime timestamp NOT NULL default current_timestamp, data text );
Собственно, требуется подключить базу данных для произведения этого действия:
Код
db = web.database(dbn='postgres', db='mydatabase', user='myname', pw='') store = web.session.DBStore(db,'sessions') session = web.session.Session(app, store, initializer={'count':0})
В web.config можно изменять настройки сессий. В общих чертах разобрались, теперь давайте сделаем авторизацию.
Авторизация Это не является полноценной системой и служит скорее для закрытия определённых частей сайта. В данном примере используется СУБД SQLite.
Код
import hashlib # Импортирует md5 библиотеку для шифровки import web # Подключение Web к Python
def POST(self): i = web.input()# Получаем введённые данные
authdb = sqlite3.connect('users.db')# Подключаем базу данных pwdhash = hashlib.md5(i.password).hexdigest()# Шифруем пароль check = authdb.execute('select * from users where username=? and password=?',(i.username, pwdhash))# Ищем пользователя с таким логином и паролем if check:# Если есть такая пара... session.loggedin =True# Записываем в сессию, что пользователь авторизован session.username = i.username # Записываем в сессию имя пользователя raise web.seeother('/results')# Перебрасываем пользователя по адресу /results else:return render.base("Those login details don't work.")# Если пароль не совпадает, показываем ошибку
Простой блог Итак, давайте забабахаем что-то эдакое. По скольку во второй части вам был обещан блог, придётся выкручиваться. Структура файлов такова:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Создаем свой сайт/игру на Python. Часть 3», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]