Konfigrasyon Dosyası:
settings.ini:
-----------------------
[postgresql]
host = localhost
database = testdb
user = root
password = root123
------------------------------------------------------------------------------
import configparser
config = configparser.ConfigParser()
config.read('settings.ini')
#dosyadan değerleri okumak için (read file)
host = config['postgresql']['host']
database = config['postgresql']['database']
user = config['postgresql']['user']
password = config['postgresql']['password']
print(host, database, user, password)
#dosyadaki değerleri değiştirmek için (update file)
config['postgresql']['user'] = "ali"
config['postgresql']['password'] = "ali123"
with open('settings.ini', 'w') as f:
config.write(f)
WEB PROGRAMLAMA
30 Mart 2020 Pazartesi
19 Eylül 2019 Perşembe
Django Konular
Django send email by settings.py
--------------------------
# Email settings
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
#EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' #bunu sakın kullanma mail göndermiyor
EMAIL_HOST = 'mail.xxx.com.tr'
EMAIL_HOST_USER = 'rapor@xxx.com.tr'
EMAIL_HOST_PASSWORD = '5678'
EMAIL_PORT = 587 #SSL 465, TLS 587
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
MAILER_LIST = ['aa@yahoo.com', 'bb@hotmail.com']
#proje dizini içinde konsoldan:
>python manage.py shell
from django.core.mail import send_mail
from django.conf import settings as ss
subject = "denemke mesajı"
message = "yazı denemesi 1111 şöçğü"
send_mail(subject, message, ss.DEFAULT_FROM_EMAIL, ss.MAILER_LIST, fail_silently=False)
--------------------------
# Email settings
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
#EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' #bunu sakın kullanma mail göndermiyor
EMAIL_HOST = 'mail.xxx.com.tr'
EMAIL_HOST_USER = 'rapor@xxx.com.tr'
EMAIL_HOST_PASSWORD = '5678'
EMAIL_PORT = 587 #SSL 465, TLS 587
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
MAILER_LIST = ['aa@yahoo.com', 'bb@hotmail.com']
#proje dizini içinde konsoldan:
>python manage.py shell
from django.core.mail import send_mail
from django.conf import settings as ss
subject = "denemke mesajı"
message = "yazı denemesi 1111 şöçğü"
send_mail(subject, message, ss.DEFAULT_FROM_EMAIL, ss.MAILER_LIST, fail_silently=False)
10 Mayıs 2017 Çarşamba
Python için GUI Frameworks (Widget Toolkits) :
| Adı | Kaynak GUI | Yazıldığı Dil | Windows | MacOS | Linux | Android | iOS |
|---|---|---|---|---|---|---|---|
| Tkinter | Tk | c | + | + | + | - | - |
| PyQt | Qt | c++ | + | + | + | - | - |
| PySide | Qt | c++ | + | + | + | - | - |
| wxPython | wxWidgets | c++ | + | + | + | - | - |
| PyGTK | GTK+ | c | + | + | + | - | - |
| PyGObject | GOject/GTK+ | c | + | + | + | - | - |
| Toga | GTK+ | c | + | + | + | + | |
| Kivy | Pygame | c | + | + | + | + | |
Tkinter GUI Toolkits:
tkinter.ttk modülü Tk 8.5'e eklenmiş yeni bir Tk widget tema setidir.
from tkinter import *
from tkinter.ttk import *
ya da
from tkinter import *
import tkinter.ttk as ttk
| Tkinter | ttk |
|---|---|
| Button | Button |
| Canvas | |
| Checkbutton | Checkbutton |
| Entry | Entry |
| Frame | Frame |
| Label | Label |
| Listbox | |
| Menubutton | Menubutton |
| Menu | |
| Message | |
| Radiobutton | Radiobutton |
| Scale | Scale |
| Scrollbar | Scrollbar |
| Text | |
| Toplevel | |
| Spinbox | |
| PanedWindow | PanedWindow |
| sadece ttk'da olanlar | |
|---|---|
| Combobox | |
| Notebook | |
| Progressbar | |
| Seperator | |
| Sizegrip | |
| Treeview | |
20 Nisan 2017 Perşembe
Ternary Operator in different programming Languages (TEK SATIRDA if else):
c , c++ :
---------------------------
? operatörü kullanılır. şart ? deyim1 : deyim2;
int sayi;
const char *sonuc;
sayi = 14;
if (sayi < 10)
sonuc = " 0";
else
sonuc = "x";
printf(sonuc);
yukardaki kodun eşdeğeri:
int sayi;
const char *sonuc;
sayi = 4;
sonuc = sayi < 10 ? " 0" : " ";
printf(sonuc);
python:
----------------------------------
yukardaki kodun eşdeğeri:
yukardaki kodun eşdeğeri:
kaynaklar:
http://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator
http://stackoverflow.com/questions/8500374/python-statement-of-short-if-else
http://stackoverflow.com/questions/1686390/python-equivalent-of-short-form-if-in-c
http://www1.gantep.edu.tr/~bingul/c/index.php?ders=6
c , c++ :
---------------------------
? operatörü kullanılır. şart ? deyim1 : deyim2;
value = <condition> ? <expression1> : <expression2>
int sayi;
const char *sonuc;
sayi = 14;
if (sayi < 10)
sonuc = " 0";
else
sonuc = "x";
printf(sonuc);
yukardaki kodun eşdeğeri:
int sayi;
const char *sonuc;
sayi = 4;
sonuc = sayi < 10 ? " 0" : " ";
printf(sonuc);
python:
----------------------------------
<expression1> if <condition> else <expression2>
veyavalue = <condition> and <expression1> or <expression2>
t = 0
if t == 0:
m = 100
else:
m = 5
yukardaki kodun eşdeğeri:
t = 0
m = 100 if t == 0 else 5
yukardaki kodun eşdeğeri:
t = 0
m = t==0 and 100 or 5
kaynaklar:
http://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator
http://stackoverflow.com/questions/8500374/python-statement-of-short-if-else
http://stackoverflow.com/questions/1686390/python-equivalent-of-short-form-if-in-c
http://www1.gantep.edu.tr/~bingul/c/index.php?ders=6
18 Nisan 2017 Salı
Django projesini Windows'ta Apache üzerinde yayına alma:
Django 1.10 , Python 3.6

1-)C:\xampp içinde xampp-control.exe dosyasından Apache'yi çalıştırın.Apache çalışıyorsa aşağıdaki işlemleri yap
2-) http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi adresinden
mod_wsgi‑4.5.15+ap24vc14‑cp36‑cp36m‑win32.whl dosyasını indir.Bu dosyayı winrar ile açıp
mod_wsgi/server içinde mod_wsgi.cp36-win32.pyd dosyaını çıkar.Bu dosayanın adını
mod_wsgi.so olarak değiştir.
3-) mod_wsgi.so dosyasını C:\xampp\apache\modules altına kopyala
4-) C:\xampp\apache\conf içinde httpd.conf dosyasını aç LoadModule yazan satırların altına
LoadModule wsgi_module modules/mod_wsgi.so
ekle
5-) C:\xampp\htdocs altına django projesi oluştur.örnek mysite olsun
6-) Bu django projesini Apache'ya tanıtmak için httpd.conf dosyasını aç, en altına
bu satırları ekle:
# Python WSGI interface module
<IfModule wsgi_module>
WSGIScriptAlias / "C:/xampp/htdocs/mysite/mysite/wsgi.py"
WSGIPythonPath "C:/xampp/htdocs/mysite"
<Directory "C:/xampp/htdocs/mysite">
Allow from all
</Directory>
</IfModule>
7-)xampp-control.exe dosyasından Apache'yi restart edin.
8-)browserda http://localhost/ yazdığınızda django projesi çalışacaktır.
kaynak:
https://www.youtube.com/watch?v=VnR5O4IjmOs
https://www.devbattles.com/en/sand/post-304-using+Apache+and+Python+WSGI+on+Windows
Django 1.10 , Python 3.6

1-)C:\xampp içinde xampp-control.exe dosyasından Apache'yi çalıştırın.Apache çalışıyorsa aşağıdaki işlemleri yap
2-) http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi adresinden
mod_wsgi‑4.5.15+ap24vc14‑cp36‑cp36m‑win32.whl dosyasını indir.Bu dosyayı winrar ile açıp
mod_wsgi/server içinde mod_wsgi.cp36-win32.pyd dosyaını çıkar.Bu dosayanın adını
mod_wsgi.so olarak değiştir.
3-) mod_wsgi.so dosyasını C:\xampp\apache\modules altına kopyala
4-) C:\xampp\apache\conf içinde httpd.conf dosyasını aç LoadModule yazan satırların altına
LoadModule wsgi_module modules/mod_wsgi.so
ekle
5-) C:\xampp\htdocs altına django projesi oluştur.örnek mysite olsun
6-) Bu django projesini Apache'ya tanıtmak için httpd.conf dosyasını aç, en altına
bu satırları ekle:
# Python WSGI interface module
<IfModule wsgi_module>
WSGIScriptAlias / "C:/xampp/htdocs/mysite/mysite/wsgi.py"
WSGIPythonPath "C:/xampp/htdocs/mysite"
<Directory "C:/xampp/htdocs/mysite">
Allow from all
</Directory>
</IfModule>
7-)xampp-control.exe dosyasından Apache'yi restart edin.
8-)browserda http://localhost/ yazdığınızda django projesi çalışacaktır.
kaynak:
https://www.youtube.com/watch?v=VnR5O4IjmOs
https://www.devbattles.com/en/sand/post-304-using+Apache+and+Python+WSGI+on+Windows
7 Mart 2017 Salı
Örnek:Personellerin ücretlerinin tutulduğu personel_ucret tablosundan girilen tarihe göre en büyük değerli ücreti döndürsün, delphi tarafında tablo adı personel_ucret olsun, django modelde PersonSalary olsun:
delphi:
function maasiniAl(aid:string;atarih:TDate):double;
var tempucr:string;
begin
THOUSANDSEPARATOR := #0;
DecimalSeparator:= '.';
result:=0;
frmDMMYSQL.qrytemp.Close;
frmDMMYSQL.qrytemp.SQL.Text:='select * from personel_ucret where personelid='+ aid+' and tarih<='''+DateForMySql(atarih)+''' order by tarih desc';
frmDMMYSQL.qrytemp.Open;
if frmDMMYSQL.qrytemp.RecordCount>0 then
if frmDMMYSQL.qrytemp.FieldByName('ucret').AsString<>'' then
result:= frmDMMYSQL.qrytemp.FieldByName('ucret').AsFloat;
end;
yukardaki kodun django karşılığı:
python (django) :
def maasini_al(pers_id, pnt_tarih): temp_ucret = PersonSalary.objects.filter(person_id=pers_id, created_date__lte=pnt_tarih).order_by('-created_date').first() return temp_ucret.salary
26 Ekim 2016 Çarşamba
Django yeni kayıt ekleme / var olan kaydı değiştirme:
Django template geri butonu:
< input type=button value="Previous Page" onclick="javascript:history.go(-1);">
veya
veya
def ekle(request): kod = request.POST.get('kod') ad = request.POST.get('ad') email = request.POST.get('email') personel = Personel(kod=kod, ad=ad, email=email) personel.save() def degistir(request): kod = request.POST.get('id') personel = get_object_or_404(Personel, id=id) personel.kod = request.POST.get('kod') personel.ad = request.POST.get('ad') personel.email = request.POST.get('email') personel.save()
Django template geri butonu:
< input type=button value="Previous Page" onclick="javascript:history.go(-1);">
veya
<button class="btn btn-default btn-lg" onclick="javascript:history.go(-1);">Kapat</button>
veya
<a href="javascript:history.go(-1)" class="btn btn-default">Back</a>
24 Ekim 2016 Pazartesi
PYTHON TARIH/SAAT ÖRNEK UYGULAMALAR:
Örnek:Ayın son günü (o ayın gün sayısını) bulma:
from datetime import date, datetime, timedelta
#bir aydaki gün sayısı veya ayın son günü
def last_day_of_the_month(y, m):
m += 1
if m == 13:
m = 1
y += 1
first_of_next_month = date(y, m, 1)
last_of_this_month = first_of_next_month + timedelta(-1)
return last_of_this_month.day
t = (2016,2,1)
last_day = last_day_of_the_month(t.year,t.month)
kaynak:
https://wuhrr.wordpress.com/2011/04/07/determine-the-last-day-of-a-month/
Örnek:Girilen yil ay gün değerlerini birleştirerek tarih değerini elde ediniz.
python:
--------
import datetime
y = 2016
m = 10
d = 14
t1 = datetime.datetime(y, m, d)
print(t1)
delphi:
--------------
procedure TForm1.Button4Click(Sender: TObject);
var y,m,d:Word;
t1:TDate;
begin
//uses DateUtils
y:=2016;
m:=10;
d:=14;
t1:=EncodeDate(y,m,d);
edit1.Text:= datetostr(t1);
end;
Örnek: Girilen tarih değerinden o ayın son ve ilk gününü bulunuz.(Get Last/first Day of the Month in Python)
python:
---------------
import datetime
import calendar
date = datetime.date.today()
t1 = datetime.datetime(date.year, date.month, 1)
t2 = datetime.datetime(date.year, date.month, calendar.mdays[date.month])
print(t1)
print(t2)
çıktısı:
------------
2016-10-01 00:00:00
2016-10-31 00:00:00
kaynak:http://fosshelp.blogspot.com.tr/2010/03/how-find-last-day-of-month-in-python.html
delphi:
-------------
var t1,t2:TDate;
y,m,d:Word;
begin
//uses DateUtils
DecodeDate(Date,y,m,d);
t1:=EncodeDate(y,m,1); //ayın başı
t2:=EncodeDate(y,m,DaysInMonth(Date)); //ayın sonu
İki zaman(tarih+saat) arasındaki fark( saniye cinsinden) versin:
import datetime
dt1 = "14/11/2016 13:10:22"
dt2 = "14/11/2016 15:00:22"
bas = datetime.datetime.strptime(dt1, "%d/%m/%Y %H:%M:%S")
bit = datetime.datetime.strptime(dt2, "%d/%m/%Y %H:%M:%S")
diff = bit - bas
print(diff.seconds)
sonuç:
6600
Örnek:Güncel tarih,saat,tarih-saat bilgisini versin:
güncel tarih:
------------------
import time
t = time.strftime("%d/%m/%Y")
çıktısı:
25/10/2016
güncel saat:
----------------
import time
s = time.strftime("%H:%M:%S")
çıktısı:
09:43:50
güncel tarih-saat
-------
ts = time.strftime("%d/%m/%Y %H:%M:%S")
çıktısı:
25/10/2016 09:43:50
Örnek:Girilen tarihten haftanın gününü versin:
python:
-----------------------------
from datetime import datetime
s = "2016-10-02" #pazar
t = datetime.strptime(s, "%Y-%m-%d")
#Monday is 0 and Sunday is 6
haftaningunu = t.weekday()
print(haftaningunu)
çıktısı:
----
6
delphi:
------------------------------------------------
procedure TForm1.Button11Click(Sender: TObject);
var s:string;
t:TDate;
haftaningunu:Word;
begin
s:= '02.10.2016'; //pazar
t:= StrToDate(s);
//DayOfTheWeek 1=Monday , 7=Sunday
haftaningunu:= DayOfTheWeek(t);
edit1.Text:= IntToStr(haftaningunu);
end;
çıktısı:
----
7
Örnek:İki zaman(tarih+saat) arasındaki farkı sn cinsinden versin:
python:
-----------------------------
delphi:
------------------------------------------------
//uses DateUtils
kullanım:SecondsBetween(Now, IncSecond(Now,10))
fark:integer;
s1,s2:string;
t1,t2:TDateTime;
begin
s1:='24.10.2016 17:05:00';
s2:='24.10.2016 17:45:00';
t1:=DateTimeToStr(s1);
t2:=DateTimeToStr(s2);
fark:= SecondsBetween(t1,t2);
kaynak: http://stackoverflow.com/questions/9790204/difference-in-seconds-between-two-tdatetime-variables
Örnek:İki tarih arasında while döngüsü çalıştırma:
python:
-----------------------------
from datetime import datetime, timedelta
s1 = "2016-10-10"
s2 = "2016-10-20"
t1 = datetime.strptime(s1, "%Y-%m-%d")
t2 = datetime.strptime(s2, "%Y-%m-%d")
t = t1
while t<=t2:
print(t)
t += timedelta(days=1)
çıktısı:
-------
2016-10-10 00:00:00
2016-10-11 00:00:00
2016-10-12 00:00:00
2016-10-13 00:00:00
2016-10-14 00:00:00
2016-10-15 00:00:00
2016-10-16 00:00:00
2016-10-17 00:00:00
2016-10-18 00:00:00
2016-10-19 00:00:00
2016-10-20 00:00:00
delphi:
------------------------------------------------
procedure TForm1.Button10Click(Sender: TObject);
var s1,s2:string;
t1,t2,t:TDate;
begin
//uses DateUtils
s1:= '10.10.2016';
s2:= '20.10.2016';
t1:= StrToDate(s1);
t2:= StrToDate(s2);
t:= t1;
while t<=t2 do begin
memo1.lines.add(datetostr(t));
t:=IncDay(t,1);
end;
end;
çıktısı:
-------
10.10.2016
11.10.2016
12.10.2016
13.10.2016
14.10.2016
15.10.2016
16.10.2016
17.10.2016
18.10.2016
19.10.2016
20.10.2016
Örnek:Ayın son günü (o ayın gün sayısını) bulma:
from datetime import date, datetime, timedelta
#bir aydaki gün sayısı veya ayın son günü
def last_day_of_the_month(y, m):
m += 1
if m == 13:
m = 1
y += 1
first_of_next_month = date(y, m, 1)
last_of_this_month = first_of_next_month + timedelta(-1)
return last_of_this_month.day
t = (2016,2,1)
last_day = last_day_of_the_month(t.year,t.month)
kaynak:
https://wuhrr.wordpress.com/2011/04/07/determine-the-last-day-of-a-month/
Örnek:Girilen yil ay gün değerlerini birleştirerek tarih değerini elde ediniz.
python:
--------
import datetime
y = 2016
m = 10
d = 14
t1 = datetime.datetime(y, m, d)
print(t1)
delphi:
--------------
procedure TForm1.Button4Click(Sender: TObject);
var y,m,d:Word;
t1:TDate;
begin
//uses DateUtils
y:=2016;
m:=10;
d:=14;
t1:=EncodeDate(y,m,d);
edit1.Text:= datetostr(t1);
end;
Örnek: Girilen tarih değerinden o ayın son ve ilk gününü bulunuz.(Get Last/first Day of the Month in Python)
python:
---------------
import datetime
import calendar
date = datetime.date.today()
t1 = datetime.datetime(date.year, date.month, 1)
t2 = datetime.datetime(date.year, date.month, calendar.mdays[date.month])
print(t1)
print(t2)
çıktısı:
------------
2016-10-01 00:00:00
2016-10-31 00:00:00
kaynak:http://fosshelp.blogspot.com.tr/2010/03/how-find-last-day-of-month-in-python.html
delphi:
-------------
var t1,t2:TDate;
y,m,d:Word;
begin
//uses DateUtils
DecodeDate(Date,y,m,d);
t1:=EncodeDate(y,m,1); //ayın başı
t2:=EncodeDate(y,m,DaysInMonth(Date)); //ayın sonu
İki zaman(tarih+saat) arasındaki fark( saniye cinsinden) versin:
import datetime
dt1 = "14/11/2016 13:10:22"
dt2 = "14/11/2016 15:00:22"
bas = datetime.datetime.strptime(dt1, "%d/%m/%Y %H:%M:%S")
bit = datetime.datetime.strptime(dt2, "%d/%m/%Y %H:%M:%S")
diff = bit - bas
print(diff.seconds)
sonuç:
6600
Sayısal olarak tutulmuş zaman farkını saat cinsinde dönüştürme:
>>time.strftime("%H:%M:%S", time.gmtime(6600))
>>'01:50:00'
Mesela tabloda zaman farkı dakika cinsinden,integer türünden 540 olarak tutmuş olsun.Bunu saat formatına dönüştürürsek:
gmtime saniye değerini aldığından farkı 60 ile çarpıyoruz:
import time
fark = 540 * 60
saat = time.strftime("%H:%M:%S", time.gmtime(fark))
print(saat)
sonuç:
09:00:00
güncel tarih:
------------------
import time
t = time.strftime("%d/%m/%Y")
çıktısı:
25/10/2016
güncel saat:
----------------
import time
s = time.strftime("%H:%M:%S")
çıktısı:
09:43:50
güncel tarih-saat
-------
ts = time.strftime("%d/%m/%Y %H:%M:%S")
çıktısı:
25/10/2016 09:43:50
Örnek:Girilen tarihten haftanın gününü versin:
python:
-----------------------------
from datetime import datetime
s = "2016-10-02" #pazar
t = datetime.strptime(s, "%Y-%m-%d")
#Monday is 0 and Sunday is 6
haftaningunu = t.weekday()
print(haftaningunu)
çıktısı:
----
6
delphi:
------------------------------------------------
procedure TForm1.Button11Click(Sender: TObject);
var s:string;
t:TDate;
haftaningunu:Word;
begin
s:= '02.10.2016'; //pazar
t:= StrToDate(s);
//DayOfTheWeek 1=Monday , 7=Sunday
haftaningunu:= DayOfTheWeek(t);
edit1.Text:= IntToStr(haftaningunu);
end;
çıktısı:
----
7
Örnek:İki zaman(tarih+saat) arasındaki farkı sn cinsinden versin:
python:
-----------------------------
delphi:
------------------------------------------------
//uses DateUtils
kullanım:SecondsBetween(Now, IncSecond(Now,10))
fark:integer;
s1,s2:string;
t1,t2:TDateTime;
begin
s1:='24.10.2016 17:05:00';
s2:='24.10.2016 17:45:00';
t1:=DateTimeToStr(s1);
t2:=DateTimeToStr(s2);
fark:= SecondsBetween(t1,t2);
kaynak: http://stackoverflow.com/questions/9790204/difference-in-seconds-between-two-tdatetime-variables
Örnek:İki tarih arasında while döngüsü çalıştırma:
python:
-----------------------------
from datetime import datetime, timedelta
s1 = "2016-10-10"
s2 = "2016-10-20"
t1 = datetime.strptime(s1, "%Y-%m-%d")
t2 = datetime.strptime(s2, "%Y-%m-%d")
t = t1
while t<=t2:
print(t)
t += timedelta(days=1)
çıktısı:
-------
2016-10-10 00:00:00
2016-10-11 00:00:00
2016-10-12 00:00:00
2016-10-13 00:00:00
2016-10-14 00:00:00
2016-10-15 00:00:00
2016-10-16 00:00:00
2016-10-17 00:00:00
2016-10-18 00:00:00
2016-10-19 00:00:00
2016-10-20 00:00:00
delphi:
------------------------------------------------
procedure TForm1.Button10Click(Sender: TObject);
var s1,s2:string;
t1,t2,t:TDate;
begin
//uses DateUtils
s1:= '10.10.2016';
s2:= '20.10.2016';
t1:= StrToDate(s1);
t2:= StrToDate(s2);
t:= t1;
while t<=t2 do begin
memo1.lines.add(datetostr(t));
t:=IncDay(t,1);
end;
end;
çıktısı:
-------
10.10.2016
11.10.2016
12.10.2016
13.10.2016
14.10.2016
15.10.2016
16.10.2016
17.10.2016
18.10.2016
19.10.2016
20.10.2016
20 Ekim 2016 Perşembe
Django User tablosuna yeni alan ekleme (adding fields to User model ):
kaynak: https://djangosnippets.org/snippets/2132/
Örnek: User tablosuna mobile adında string türden bir alan ekleyiniz:
models.py:
------------
kaynak: https://djangosnippets.org/snippets/2132/
Örnek: User tablosuna mobile adında string türden bir alan ekleyiniz:
models.py:
------------
from django.contrib.auth.models import User mobile = models.CharField("Cep Telefonu", max_length=16) mobile.contribute_to_class(User, 'mobile')
ardından
python manage.py makemigrations
python manage.py migrate
yaptığınızda User (auth_user) tablosuna yeni alan eklenmiş olur,
artık bu alanı formda kullanabiliriz.
9 Ekim 2016 Pazar
YÜKLÜ PYTHON VERSİYONUNU ÖĞRENME:
>python --version
YÜKLÜ SETUP TOOLS (EASY INSTALL) VERSİYONUNU ÖĞRENME:
>easy_install --version
script dosyası Python\Python35-32\Scripts içinde
YÜKLÜ PIP VERSİYONUNU ÖĞRENME:
>pip --version
script dosyası Python\Python35-32\Scripts içinde
YÜKLÜ DJANGO VERSİYONUNU ÖĞRENME:
>django-admin --version
script dosyası Python\Python35-32\Scripts içinde
İNDİRİLEN BİR PYTHON PAKETİNİ YÜKLEME:
paketi winrar ile klasöre dönüştür bu klasörün içinde komut satırından
python setup.py install
ile kur
PIP güncelleme:
python -m pip install --upgrade pip
PIP ile yükleme/güncelleme:
--------------------------------------------
django yükleme:
>pip install django
django güncelleme:
>pip install django --upgrade
postgresql yükleme:
>pip install postgress
>python --version
YÜKLÜ SETUP TOOLS (EASY INSTALL) VERSİYONUNU ÖĞRENME:
>easy_install --version
script dosyası Python\Python35-32\Scripts içinde
YÜKLÜ PIP VERSİYONUNU ÖĞRENME:
>pip --version
script dosyası Python\Python35-32\Scripts içinde
YÜKLÜ DJANGO VERSİYONUNU ÖĞRENME:
>django-admin --version
script dosyası Python\Python35-32\Scripts içinde
İNDİRİLEN BİR PYTHON PAKETİNİ YÜKLEME:
paketi winrar ile klasöre dönüştür bu klasörün içinde komut satırından
python setup.py install
ile kur
PIP güncelleme:
python -m pip install --upgrade pip
PIP ile yükleme/güncelleme:
--------------------------------------------
django yükleme:
>pip install django
django güncelleme:
>pip install django --upgrade
postgresql yükleme:
>pip install postgress
5 Ekim 2016 Çarşamba
How To Integrate SyntaxHighlighter To Blogger, Blogspot:
https://android-expert-blog.blogspot.com.tr/2015/12/how-to-integrate-syntaxhighlighter-to.html
https://www.youtube.com/watch?v=ljpLouJTfpU
https://www.hermesiletisim.net/dev/python-ile-xlsx-dosyalarini-okuma#.WTb8S2jyiHs
using System;
namespace HelloWorld
{
class Hello
{
public static void Main(String[] args)
{
Console.WriteLine("Hello World");
}
}
}
Python ile XLSX dosyalarını okumahttps://www.hermesiletisim.net/dev/python-ile-xlsx-dosyalarini-okuma#.WTb8S2jyiHs
from openpyxl.reader.excel import load_workbook
table=[] #tablomuzun tutlacağı array.
wb = load_workbook(filename = 'dosya_ismi.xlsx', use_iterators = True) #Dosyamızı yüklüyoruz use_iterators özelliğini true yaparak optimized reader'ı kullanmış oluyoruz.
sheet = wb.get_active_sheet() #Dosyamızdaki aktif sheet'i alıyoruz.
for row in sheet.iter_rows(): #Kütüphanedeki rows() fonksiyonu yerine itter_rows() fonksiyonunu kullanıyoruz. Bu fonksiyon sheet içindeki satırların listesini bize dönüyor.
line=[] #satırların tutulacağı array.
for cell in row: #Her bir satırdaki hücreleri geziyoruz.
line.append(cell.internal_value) # burda value() fonksiyonu yerine internal_value() fonksiyonunu kullanıyoruz.
table.append(line) #satırlarımı table array'imize ekliyoruz.
RASPBERRY PI NOTLARI:
5" HDMI EKRAN AYARLARI:
5" HDMI Rezistif Dokunmatik LCD Ekran - 800x480 (B)
putyy ile raspberry'ye bağlan
sudo nano /boot/config.txt
config.txt içinde aşağıdaki satırlarda başında # olanları kaldır aç,olmayan satırları ekle:
-----------------------------------------------------------------------------
hdmi_force_hotplug=1
hdmi_grup=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt=800 480 60 6 0 0 0
max_usb_current=1
-----------------------------------------------------------------------------
yap Ctrl+O : kaydet
Ctrl+X :çık
sudo reboot
ile cihazı yeniden başlattığında ekrana görüntü gelecek.
5" HDMI EKRAN AYARLARI:
5" HDMI Rezistif Dokunmatik LCD Ekran - 800x480 (B)
putyy ile raspberry'ye bağlan
sudo nano /boot/config.txt
config.txt içinde aşağıdaki satırlarda başında # olanları kaldır aç,olmayan satırları ekle:
-----------------------------------------------------------------------------
hdmi_force_hotplug=1
hdmi_grup=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt=800 480 60 6 0 0 0
max_usb_current=1
-----------------------------------------------------------------------------
yap Ctrl+O : kaydet
Ctrl+X :çık
sudo reboot
ile cihazı yeniden başlattığında ekrana görüntü gelecek.
28 Eylül 2016 Çarşamba
PYTHON NOTLARI:
Tek satırda if else (python 3.5 if else single line):
kaynak:
http://stackoverflow.com/questions/11529273/python-condense-if-else-to-one-line
tanım:
Örnek:
a=1
if a==1:
sonuc= True
else:
sonuc= False
print(sonuc)
yukardaki kodun eşdeğeri:
a=1
sonuc= True if a==1 else False
print(sonuc)
INTEGER SAYISIYI 8 HANE OLACAK ŞEKİLDE BINARY SAYIYI DÖNÜŞTÜRME:
kaynak:
http://stackoverflow.com/questions/10411085/converting-integer-to-binary-in-python
örnek: Girilen byte türünden sayıyı 8 haneli olcak şekilde string veriye dönüştürnüz.
python:
---------------
decode_bin fonksiyonu girilen integer sayıyı string türünden 8 hane olacak şekilde başına 0 doldurur:
def decode_bin(int_value):
return bin(int_value)[2:].zfill(8)
sayi = 5
s = decode_bin(sayi)
çıktısı:
00000101
delphi:
-------------
harici IntToBin adlı fonsiyonu kullanacağız.
function IntToBin(Value: Byte): string;
var
I: Integer;
begin
SetLength(Result, 8);
for I := 1 to 8 do
begin
Result[I] := Char(Ord('0') + Value shr 7);
Inc(Value, Value);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var sayi:integer;
s:string;
begin
sayi:=5;
s:=IntToBin(sayi);
edit1.Text:=s;
end;
çıktısı:
00000101
STRINGİ BELLİ BİR KARAKTERE GÖRE PARÇALARA AYIRMA ( split):
Örnek:Ayrıcı karakter ; olsun."1;argentina;buenos aries" ifadesini ; karakterine göre parçalara ayırınız.
python:
------------------
bunun için split(ayırıcıkarakter) kullanılır.geriye "ayırıcı karakter sayısının bir fazlası kadar" bir liste(dizi) elemanları oluşur.
a = "1;argentina;buenos aires"
b = a.split(';')
b[0] #1
b[1] #argentina
b[2] #buenos aires
delphi:
------------------
Delphi için Split adında harici bir fonksiyon(procedür) kullanıyoruz.
procedure Split(const Delimiter: Char;Input: string;const Strings: TStrings) ;
begin
Assert(Assigned(Strings)) ;
Strings.Clear;
Strings.Delimiter := Delimiter;
Strings.DelimitedText := Input;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a: string;
b: TStringList;
begin
a:= '1;argentina;buenos aires';
b := TStringList.Create;
try
Split(';', a, b) ;
memo1.Lines.add(b[0]) ;
memo1.Lines.add(b[1]) ;
memo1.Lines.add(b[2]) ;
finally
b.Free;
end;
end;
kaynak: http://delphi.about.com/cs/adptips2002/a/bltip1102_5.htm
procedure TForm1.Button1Click(Sender: TObject);
var a: string;
b: TStringList;
begin
a:= 'your delphi guide';
b := TStringList.Create;
try
Split(' ', a, b) ;
memo1.Lines.add(b[0]) ; //your
memo1.Lines.add(b[1]) ; //delphi
memo1.Lines.add(b[2]) ; //guide
finally
b.Free;
end;
end;
ancak yukaradaki delphi için tanımlanan split prosedürü tam çalışmıyor.Mesela 'TL - Türk Lirası' stringini doğru paraçalara ayıramıyor,o yüzden yeni split tanımlayalım:
procedure ParseDelimited(const sl : TStrings; const value : string; const delimiter : string) ;
var
dx : integer;
ns : string;
txt : string;
delta : integer;
begin
delta := Length(delimiter) ;
txt := value + delimiter;
sl.BeginUpdate;
sl.Clear;
try
while Length(txt) > 0 do
begin
dx := Pos(delimiter, txt) ;
ns := Copy(txt,0,dx-1) ;
sl.Add(ns) ;
txt := Copy(txt,dx+delta,MaxInt) ;
end;
finally
sl.EndUpdate;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a:string;
b: TStringList;
begin
a:= 'TL - Türk Lirası';
//ParseDelimited(Memo1.lines,a,'-');
b := TStringList.Create;
try
ParseDelimited(b,a,'-');
finally
Memo1.lines.Add(b[0]) ;
Memo1.lines.Add(b[1]) ;
b.Free;
end;
end;
kaynak: https://www.thoughtco.com/parse-a-delimited-string-1057564
Tek satırda if else (python 3.5 if else single line):
kaynak:
http://stackoverflow.com/questions/11529273/python-condense-if-else-to-one-line
tanım:
a if cond else b
Örnek:
a=1
if a==1:
sonuc= True
else:
sonuc= False
print(sonuc)
yukardaki kodun eşdeğeri:
a=1
sonuc= True if a==1 else False
print(sonuc)
INTEGER SAYISIYI 8 HANE OLACAK ŞEKİLDE BINARY SAYIYI DÖNÜŞTÜRME:
kaynak:
http://stackoverflow.com/questions/10411085/converting-integer-to-binary-in-python
>>> bin(6)[2:].zfill(8)
'00000110'
örnek: Girilen byte türünden sayıyı 8 haneli olcak şekilde string veriye dönüştürnüz.
python:
---------------
decode_bin fonksiyonu girilen integer sayıyı string türünden 8 hane olacak şekilde başına 0 doldurur:
def decode_bin(int_value):
return bin(int_value)[2:].zfill(8)
sayi = 5
s = decode_bin(sayi)
çıktısı:
00000101
delphi:
-------------
harici IntToBin adlı fonsiyonu kullanacağız.
function IntToBin(Value: Byte): string;
var
I: Integer;
begin
SetLength(Result, 8);
for I := 1 to 8 do
begin
Result[I] := Char(Ord('0') + Value shr 7);
Inc(Value, Value);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var sayi:integer;
s:string;
begin
sayi:=5;
s:=IntToBin(sayi);
edit1.Text:=s;
end;
çıktısı:
00000101
STRINGİ BELLİ BİR KARAKTERE GÖRE PARÇALARA AYIRMA ( split):
Örnek:Ayrıcı karakter ; olsun."1;argentina;buenos aries" ifadesini ; karakterine göre parçalara ayırınız.
python:
------------------
bunun için split(ayırıcıkarakter) kullanılır.geriye "ayırıcı karakter sayısının bir fazlası kadar" bir liste(dizi) elemanları oluşur.
a = "1;argentina;buenos aires"
b = a.split(';')
b[0] #1
b[1] #argentina
b[2] #buenos aires
delphi:
------------------
Delphi için Split adında harici bir fonksiyon(procedür) kullanıyoruz.
procedure Split(const Delimiter: Char;Input: string;const Strings: TStrings) ;
begin
Assert(Assigned(Strings)) ;
Strings.Clear;
Strings.Delimiter := Delimiter;
Strings.DelimitedText := Input;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a: string;
b: TStringList;
begin
a:= '1;argentina;buenos aires';
b := TStringList.Create;
try
Split(';', a, b) ;
memo1.Lines.add(b[0]) ;
memo1.Lines.add(b[1]) ;
memo1.Lines.add(b[2]) ;
finally
b.Free;
end;
end;
kaynak: http://delphi.about.com/cs/adptips2002/a/bltip1102_5.htm
procedure TForm1.Button1Click(Sender: TObject);
var a: string;
b: TStringList;
begin
a:= 'your delphi guide';
b := TStringList.Create;
try
Split(' ', a, b) ;
memo1.Lines.add(b[0]) ; //your
memo1.Lines.add(b[1]) ; //delphi
memo1.Lines.add(b[2]) ; //guide
finally
b.Free;
end;
end;
ancak yukaradaki delphi için tanımlanan split prosedürü tam çalışmıyor.Mesela 'TL - Türk Lirası' stringini doğru paraçalara ayıramıyor,o yüzden yeni split tanımlayalım:
procedure ParseDelimited(const sl : TStrings; const value : string; const delimiter : string) ;
var
dx : integer;
ns : string;
txt : string;
delta : integer;
begin
delta := Length(delimiter) ;
txt := value + delimiter;
sl.BeginUpdate;
sl.Clear;
try
while Length(txt) > 0 do
begin
dx := Pos(delimiter, txt) ;
ns := Copy(txt,0,dx-1) ;
sl.Add(ns) ;
txt := Copy(txt,dx+delta,MaxInt) ;
end;
finally
sl.EndUpdate;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a:string;
b: TStringList;
begin
a:= 'TL - Türk Lirası';
//ParseDelimited(Memo1.lines,a,'-');
b := TStringList.Create;
try
ParseDelimited(b,a,'-');
finally
Memo1.lines.Add(b[0]) ;
Memo1.lines.Add(b[1]) ;
b.Free;
end;
end;
kaynak: https://www.thoughtco.com/parse-a-delimited-string-1057564
Kaydol:
Kayıtlar (Atom)
