Django'ya Giriş - 3

Dökümanın 1. Bölümü : http://www.tahribat.com/Dokuman-Django-Ya-Giris-1-380/

Dökümanın 2. Bölümü : http://www.tahribat.com/Dokuman-Django-Ya-Giris-2-381/

Dökümanın 3. Bölümü : http://www.tahribat.com/Dokuman-Django-Ya-Giris-3-382/

Dökümanlarla ilgili soru ve güncellemeler ile ilgili konu : http://www.tahribat.com/Forum-Django-Giris-139552/

Şimdi html'de içine python değişkeni yazıp değiştirip atraksiyon yapabiliyoruz.İfler şunlar bunlar.

Gerekli döküman pardus-e derginin 16. sayısında mevcut.Fakat bir örnek verelim ;

İşletim sistemini alıp, ekrana bastıralım.

# test.htm sayfasını biraz değiştirelim;

İşletim sistemin:  {{isletim_sistemi}}

Gördüğünüz gibi burda {{isletim_sistemi}} gibi bir ibare var.Pardus e-dergi'de daha net göreceksiniz.İf, else, while, for vs.. gibi bir ton şeyi {{}} içinde kullanabiliyoruz.Neysem ;

views.py'ye import os diyeceğiz.os hazır bir kütüphanedir.Şimdi işletim sistemini ekrana bastıralım;

def goster(request):
    nedir = os.name
    cek = get_template('test.htm')
    return HttpResponse(cek.render(Context({'isletim_sistemi':nedir})))

Sen bizle dalga mı geçiyorsun, posix, mac yada nt falan çıktı diye atraksiyona girmeyin, durun ! kızmayın.Bunlar normal.Şimdi if, else kullanarak tam olarak birşeyler yazdıralım :)

def goster(request):
    if os.name == 'posix':
 nedir = 'Afferim Linux güzel bir tercih'
    elif os.name == 'mac':
 nedir = 'Ehh oda iyi be..Ama mac\'in şirket felsefesi microsofttan berbat'
    else:
 nedir = 'Nasıl yani ? python sever bir adam'    
    cek = get_template('test.htm')
    return HttpResponse(cek.render(Context({'isletim_sistemi':nedir})))

Oldu. Şimdi bir iki trick;

import os diyeceğimize, madem sadece name 'i kullanacağız ;

from os import name

diyelim.Daha sonra ;

os.name olarak kullandıklarımızı sadece name olarak kullanalım.

Bitti miii ???? Bittiii lannn !!! O zaman dosyalar;

#urls.py

# -*- coding: utf-8 -*-
from django.conf.urls.defaults import *
from tbt.views import *
urlpatterns = patterns('',
    (r'^selam/$', selam),
    (r'^naber/$', hoyt),
    (r'^goster/$', goster),
)

#views.py

# -*- coding: utf-8 -*-
from django.template.loader import get_template
from django.template import Context
from django.http import HttpResponse
from os import name
def selam(request):
    return HttpResponse('merhaba dünya
hoyt\'a git') def hoyt(request): otusken = 'Afferim geldin buraya.
şimdi html göster' return HttpResponse(otusken) def goster(request): if name == 'posix':  nedir = 'Afferim Linux güzel bir tercih' elif name == 'mac':  nedir = 'Ehh oda iyi be..Ama mac\'in şirket felsefesi microsofttan berbat' else:  nedir = 'Nasıl yani ? python sever bir adam' cek = get_template('test.htm') return HttpResponse(cek.render(Context({'isletim_sistemi':nedir})))

#settings.py

# Django settings for tbt project.
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
    # ('Your Name', 'your_email@domain.com'),
)
MANAGERS = ADMINS
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Europe/Istanbul'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'tr'
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = True
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'
# Make this unique, and don't share it with anybody.
SECRET_KEY = 'x-rehxcj5r28v9#p$wdv_g8+vbdl&suv;&gc7;=)cs$b(4$k3i#)'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.csrf.middleware.CsrfMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)
ROOT_URLCONF = 'tbt.urls'
TEMPLATE_DIRS = (
    '/home/ayro/django/tbt/dos/',
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)
 INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)

#dos/test.htm

Zenci dostum işletim
sistemin mi ne ? Tamam söylüyorum sana
İşletim sistemin: {{isletim_sistemi}}

Mutlu son 'mu bilmem ama son işte.pardus e-dergi'yi 14. sayıdan itibaren takip edip; isthiza'daki python dosyalarınıda hallederseniz herşey kontrol altında olur. Django ve python iyidir güzeldir, linux mükemmeldir.Windows, .net kakadır.Dokanmayın. Başka dökümanlara devam edicem.Sizler için yazdığım bir dökümandı . Umud ediyorum ki sıkılmamışsınızdır.

Tarih:
Hit: 3163
Yazar: Ayro



Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.