Этот вопрос может быть широким, но я недавно начал использовать Python и MongoDB и начал создавать приложение с использованием Django. Так что, пожалуйста, ведите меня.
Я использую Django
, но поскольку официальной интеграции с MongoDB нет; Я напрямую использую PyMongo для операций с базами данных. Таким образом, мой models.py
файл полностью пуст. Я использую Django
для маршрутизации страниц HTTP и аналогичных функций, которым не нужен доступ к базе данных.
У моего приложения есть страница /login
и страница /profile
. Пользователь входит в систему на странице /login
, если учетные данные действительны, я хочу, чтобы пользователь был перенаправлен на страницу /profile
, и отображал его данные, такие как имя, адрес электронной почты и т. Д. Я хочу, чтобы сеанс пользователя сохранялся до файлов cookie. в браузере очищаются или устанавливаются истечения для сеанса.
Если пользователь пытается получить доступ к странице /profile
напрямую, я хочу подтвердить сеанс и перенаправить пользователя на страницу /login
, если необходимо, или отобразить подробности в противном случае.
Я не знаю, как работают HTTP-сессии и файлы cookie. Я прочитал в Интернете информацию, но я не понял ясно. Я также просмотрел некоторые ссылки на переполнение стека ниже, но они точно не соответствуют моим потребностям.
- Вход на сайт с использованием Python
- Как начать сеанс в веб-приложении Python?
- простая реализация сессий в python?
Вот мой код:
/ Логин
def login(request):
if request.method == 'POST':
email = request.POST['email']
password = request.POST['password']
client = MongoClient('mongodb://djangouser:djangopass@1.1.1.1:27017/djangodb')
db = client.djangodb
newCollection = db.regdata
loginCheck = newCollection.find_one({"email": email, "password": password})
client.close()
if loginCheck != None:
return HttpResponseRedirect('/profile/')
else:
return http.HttpResponse("Invalid credentials!")
else:
return render(request, 'login.html')
/ Профиль:
def profile(request):
return http.HttpResponse("Ok!")
Теперь, какой код я должен написать в блоках /login
& /profile
для проверки файлов cookie, управления сеансами и всего остального?