22 Mart 2014 Cumartesi

URL Hakkında Bilgiler

Formlar konusuna geçmeden önce URL hakkındaki bazı bilgileri ulaşmayı görelim. HTTPRequest nesneleri URL hakkında çeşitli bilgileri içerir. Bulunduğumuz adresin yolunu almak için request.path özelliğini kullanabilir. Bulunduğumuz adresin yolunu almak için görünüm oluşturalım.
def yol(request):
 yol = request.path
 return HttpResponse('Adres Yolu: %s' % (yol))
Görünüme ulaşabilmek için urls.py ekleyelim.
url(r'adres-yolu/',yonetim.views.yol),
Adres çubuğuna localhost:8000/adres-yolu yazdığınızda şu şekilde bir çıktı alacaksınız.
Adres Yolu: /adres-yolu/
O anda adres çubuğunda bulunduğumuz yerin adresini bu şekilde aldık. Dikkat ederseniz host name kısmı alınmadı.
Özellik/MethodAçıklamaÖrnek
request.get_host()Hostname ulaşmak için kullanılır.localhost:8000
request.get_full_path()Tam yolu almak için kullanılır. Tarayıcıdaki verilen parametrelerde görülür.Tarayıcı : http://localhost:8000/adres-yolu/?get=deneme
Method'un dönüş değeri : /adres-yolu/?get=deneme
request.is_secure()Eğer HTTPS protokolü kullanılıyorsa True döndürür. HTTP protokolü kullanılıyorsa False döndürür.False
Request Değerinin Diğer Özellikleri
Oluşturduğumuz bir görünümde argüman olarak aldığımız request(istek) değişkenin çeşitli az önce bahsettiklerimiz gibi çeşitli metodları vardır. Buradaki request yerine istediğiniz değişken ismini verebilirsiniz. Biz sadece geleneklere uymak için request olarak kullanacağız.
def gorunum(request):
request.META
request.Meta kullanıcının ip adresi, kullandığı tarayıcı, sunucu adı, sunucunun kullandığı protokol gibi pek çok bilgiyi içeren bir sözlüktür.
  • HTTP_USER_AGENT Tarayıcı hakkında bilgi verir.
  • REMOTE_ADDR Kullanıcı ip adresi.
  • SERVER_PORT Sunucunun kullandığı port numarası.
Bu şekilde pek çok anahtar içermektedir. Bu anahtarların ve değerlerinin hepsine şu şekilde ulaşabilir ve istediğinizi kullanabilirsiniz.

def display_meta(request):
    values = request.META.items()
    values.sort()
    html = []
    for k, v in values:
        html.append('%s%s' % (k, v))
    return HttpResponse('%s
' % '\n'.join(html))

0 yorum :

Yorum Gönderme