pip install django
django-admin startproject projem
cd projem
python manage.py startapp uygulamam
python manage.py runserver
python manage.py migrate
manage.py
: Yönetimsel görevler için komut satırı yardımcı programıprojem/
: Proje dizini
__init__.py
: Bu dizinin bir Python paketi olduğunu belirten boş dosyasettings.py
: Proje ayarları/yapılandırmasıurls.py
: Proje URL tanımlamalarıasgi.py
: ASGI uyumlu web sunucuları için giriş noktasıwsgi.py
: WSGI uyumlu web sunucuları için giriş noktasıuygulamam/
: Uygulama dizini
migrations/
: Veritabanı taşımaları__init__.py
: Bu dizinin bir Python paketi olduğunu belirten boş dosyaadmin.py
: Yönetici arayüzü yapılandırmasıapps.py
: Uygulama yapılandırmasımodels.py
: Veri modelleritests.py
: Birim testleriviews.py
: Görünüm fonksiyonlarıfrom django.db import models
class Kisi(models.Model):
ad = models.CharField(max_length=30)
soyad = models.CharField(max_length=30)
dogum_tarihi = models.DateField()
def __str__(self):
return f"{self.ad} {self.soyad}"
kisi = Kisi(ad="Ahmet", soyad="Yılmaz", dogum_tarihi="1990-01-01")
kisi.save()
# Tüm kişileri al
tum_kisiler = Kisi.objects.all()
# Kişileri filtrele
ahmetler = Kisi.objects.filter(ad="Ahmet")
# Tek bir kişi al
try:
kisi = Kisi.objects.get(id=1)
except Kisi.DoesNotExist:
print("Kişi bulunamadı")
from django.shortcuts import render
from django.http import HttpResponse
def merhaba_dunya(request):
return HttpResponse("Merhaba, Dünya!")
def kisi_detay(request, kisi_id):
kisi = Kisi.objects.get(id=kisi_id)
return render(request, 'kisi_detay.html', {'kisi': kisi})
from django.views import View
from django.views.generic import ListView, DetailView
class KisiListesi(ListView):
model = Kisi
template_name = 'kisi_listesi.html'
context_object_name = 'kisiler'
class KisiDetay(DetailView):
model = Kisi
template_name = 'kisi_detay.html'
context_object_name = 'kisi'
from django.urls import path
from . import views
urlpatterns = [
path('', views.merhaba_dunya, name='merhaba_dunya'),
path('kisi/<int:kisi_id>/', views.kisi_detay, name='kisi_detay'),
path('kisiler/', views.KisiListesi.as_view(), name='kisi_listesi'),
path('kisi/<int:pk>/', views.KisiDetay.as_view(), name='kisi_detay'),
]
<!DOCTYPE html>
<html>
<head>
<title>{{ kisi.ad }} {{ kisi.soyad }}</title>
</head>
<body>
<h1>{{ kisi.ad }} {{ kisi.soyad }}</h1>
<p>Doğum Tarihi: {{ kisi.dogum_tarihi }}</p>
</body>
</html>
<!-- temel.html -->
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}Sitem{% endblock %}</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
<!-- kisi_detay.html -->
{% extends "temel.html" %}
{% block title %}{{ kisi.ad }} {{ kisi.soyad }}{% endblock %}
{% block content %}
<h1>{{ kisi.ad }} {{ kisi.soyad }}</h1>
<p>Doğum Tarihi: {{ kisi.dogum_tarihi }}</p>
{% endblock %}
from django import forms
from .models import Kisi
class KisiFormu(forms.ModelForm):
class Meta:
model = Kisi
fields = ['ad', 'soyad', 'dogum_tarihi']
from django.shortcuts import render, redirect
from .forms import KisiFormu
def kisi_olustur(request):
if request.method == 'POST':
form = KisiFormu(request.POST)
if form.is_valid():
form.save()
return redirect('kisi_listesi')
else:
form = KisiFormu()
return render(request, 'kisi_olustur.html', {'form': form})
from django.contrib import admin
from .models import Kisi
admin.site.register(Kisi)
from django.contrib import admin
from .models import Kisi
@admin.register(Kisi)
class KisiAdmin(admin.ModelAdmin):
list_display = ('ad', 'soyad', 'dogum_tarihi')
list_filter = ('dogum_tarihi',)
search_fields = ('ad', 'soyad')
python manage.py makemigrations
python manage.py migrate
from django.db import connection
def ozel_sql_sorgum():
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM uygulamam_kisi WHERE dogum_tarihi > %s", [date(1990, 1, 1)])
satir = cursor.fetchone()
return satir
from django.contrib.auth import authenticate, login
from django.shortcuts import render, redirect
def kullanici_giris(request):
if request.method == 'POST':
kullanici_adi = request.POST['kullanici_adi']
sifre = request.POST['sifre']
user = authenticate(request, username=kullanici_adi, password=sifre)
if user is not None:
login(request, user)
return redirect('anasayfa')
else:
return render(request, 'giris.html', {'hata': 'Geçersiz kimlik bilgileri'})
return render(request, 'giris.html')
from django.contrib.auth import logout
from django.shortcuts import redirect
def kullanici_cikis(request):
logout(request)
return redirect('anasayfa')
from django.contrib.auth.decorators import login_required
@login_required
def korunmus_gorunum(request):
return render(request, 'korunmus.html')
# settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
]
{% load static %}
<img src="{% static 'images/logo.png' %}" alt="Logo">
<link rel="stylesheet" href="{% static 'css/style.css' %}">
from django.test import TestCase
from .models import Kisi
class KisiModelTest(TestCase):
def setUp(self):
Kisi.objects.create(ad="Ahmet", soyad="Yılmaz", dogum_tarihi="1990-01-01")
def test_kisi_olusturma(self):
kisi = Kisi.objects.get(ad="Ahmet")
self.assertEqual(kisi.soyad, "Yılmaz")
python manage.py test
# settings.py
DEBUG = False
ALLOWED_HOSTS = ['www.ornek.com']
# Güvenlik ayarları
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
python manage.py collectstatic
gunicorn projem.wsgi:application
2024 © Tüm hakları saklıdır - buraxta.com