SORU
3 Mayıs 2011, Salı


Şişeyi destek URL yönlendirme düzenli ifadeler mu?

Şişeyi tamsayı, kayan nokta ve yol dönüştürücüler olduğunu biliyorum, ama geliştirdiğimiz bu uygulama URLs daha karmaşık desenler vardır.

Düzenli ifadeler, Django gibi kullanabileceğimiz bir yol var mı?

CEVAP
3 Mayıs 2011, Salı


Olsa bile, Armin beat bana yumruk ile kabul edilen bir cevap göstereceğimi düşünmüştüm kısaltılmış bir örnek nasıl hayata bir düzenli ifade eşleştirici içinde Matara diye isteyen bir çalışma örneği bu nasıl yapılabilir.

from flask import Flask
from werkzeug.routing import BaseConverter

app = Flask(__name__)

class RegexConverter(BaseConverter):
    def __init__(self, url_map, *items):
        super(RegexConverter, self).__init__(url_map)
        self.regex = items[0]


app.url_map.converters['regex'] = RegexConverter

@app.route('/<regex("[abcABC0-9]{4,6}"):uid>-<slug>/')
def example(uid, slug):
    return "uid: %s, slug: %s" % (uid, slug)


if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)

200 ile dönmelidir bu URL: http://localhost:5000/abc0-foo/

404 ile bu URL gerektiği dönecektir: http://localhost:5000/abcd-foo/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • tsweeney79

    tsweeney79

    21 Ocak 2008