أنا أكتب تطبيقًا صغيرًا في زجاجة. لدي بعض المشكلات المفاهيمية تساعدني في حلها

StackOverflow https://stackoverflow.com/questions/4289115

  •  28-09-2019
  •  | 
  •  

سؤال

from bottle import  route, run, debug, error, request, template

@route('/home')
@route('/home/')
def login():
    return template('templates/login')

@route('/home', method='POST')
@route('/home/', method='POST')
def welocme():
    data = request.POST
    if data:
        password = data.get('password')
        check_pass = 'password'
        if password == check_pass:
            return template('templates/welcome')
        else:
            return template('templates/login')
    else:
        return template('templates/login')

متطلباتي هو: سأحصل على صفحة تسجيل دخول وترحيب على عنوان URL نفسه. تحتوي صفحة تسجيل الدخول على حقل كلمة مرور واحد فقط.

مشكلتي: إذا حصلت على تسجيل الدخول وانتقلت إلى الصفحة مرة أخرى على التحديث ، فإنها ترسل لي إلى صفحة تسجيل الدخول. ولكن من الناحية المثالية يجب أن يكون على صفحة الترحيب فقط.

@error(404)
def error404(error):
    return 'http://google.com'

مشكلتي الثانية: أريد إعادة التوجيه على عنوان URL معين على 404.

هل كانت مفيدة؟

المحلول

إذا ذهب المستخدم إلى صفحة "/home" ، ألا تريد التحقق لمعرفة ما إذا كان قد تم تسجيل الدخول قبل عرض شاشة تسجيل الدخول لهم؟ يبدو أنك تفترض أنهم لم يتم تسجيل الدخول بالفعل إذا لم يتم نشر طريقة HTTP.

لا أعرف الكثير عن إطارك ، لكنني أفترض ما إذا كان تسجيل الدخول ناجحًا ، يجب عليك تعيين ملف تعريف ارتباط ، ومن ثم يجب عليك التحقق من ملف تعريف الارتباط الخاص بـ HTTP لمعرفة ما إذا كان المستخدم مصادق عليه.

نصائح أخرى

تم الإجابة على سؤالك الثاني هنا.

قد ترغب أيضًا في إلقاء نظرة على جلسات ملفات تعريف الارتباط الخاصة بك واستخدم ذلك للحفاظ على حالة طلبك بين الطلبات.

إذا فهمت السؤال بشكل صحيح ، فإن الطريقة الوحيدة للحصول على قالب الترحيب هو عبر البريد.

يمكنك تغيير هذا بحيث الحصول على طلبات تحقق مما إذا كان قد تم تسجيل الدخول إلى شخص ما. إذا فشل ذلك ، ثم أعد توجيهه إلى صفحة تسجيل الدخول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top