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.
Hit: 3254
Yazar: Ayro