Dalam blog sebelumnya, kami menyediakan persekitaran pembangunan kami dan mencipta projek dan aplikasi Django asas. Kini, tiba masanya untuk menyelami lebih mendalam aspek asas Django, termasuk struktur projeknya, seni bina Model-View-Template (MVT) dan antara muka pentadbir Django. Menjelang akhir siaran ini, anda harus mempunyai pemahaman yang kukuh tentang konsep ini dan bersedia untuk membuat aplikasi blog yang mudah.
Blog ini akan menyelidiki aspek asas Django, termasuk struktur projeknya, seni bina MVT dan antara muka pentadbir Django.
Memahami struktur projek Django adalah penting untuk menavigasi dan mengatur kod anda dengan berkesan. Apabila anda mencipta projek dan apl Django baharu, struktur direktori berikut dijana:
myproject/ manage.py myproject/ __init__.py settings.py urls.py wsgi.py asgi.py blog/ __init__.py admin.py apps.py models.py tests.py views.py migrations/
Django mengikut seni bina Model-View-Template (MVT), yang merupakan variasi corak MVC. Seni bina ini menggalakkan pemisahan kebimbangan yang bersih, menjadikan kod anda lebih teratur dan boleh diselenggara.
Model mentakrifkan struktur jadual pangkalan data anda. Setiap model ialah kelas Python yang menyamakan django.db.models.Model.
# blog/models.py from django.db import models class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() published_date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title
Paparan mengendalikan logik dan pemprosesan data untuk aplikasi anda. Mereka menerima permintaan, berinteraksi dengan model dan membalas respons.
# blog/views.py from django.shortcuts import render from .models import Post def home(request): posts = Post.objects.all() return render(request, 'blog/home.html', {'posts': posts})
Templat mentakrifkan struktur HTML dan pembentangan halaman web anda. Ia boleh memasukkan kandungan dinamik dengan menggunakan teg dan penapis templat Django.
<!-- blog/templates/blog/home.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Blog Home</title> </head> <body> <h1>Blog Posts</h1> {% for post in posts %} <h2>{{ post.title }}</h2> <p>{{ post.content }}</p> <p>Published on: {{ post.published_date }}</p> {% endfor %} </body> </html>
Untuk memetakan URL kepada paparan, corak URL perlu dikonfigurasikan dalam urls.py.
# myproject/urls.py from django.contrib import admin from django.urls import path from blog import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.home, name='home'), ]
Antara muka pentadbir Django ialah alat yang berkuasa untuk mengurus data aplikasi anda tanpa menulis sebarang kod tambahan. Ia secara automatik menjana antara muka mesra pengguna untuk model anda.
# blog/admin.py from django.contrib import admin from .models import Post admin.site.register(Post)
python manage.py createsuperuser
Itu adalah gambaran keseluruhan proses untuk menulis permohonan dalam Django. Nantikan bahagian seterusnya siri ini, di mana kami akan menggunakan apa yang telah kami pelajari untuk mencipta aplikasi blog yang mudah.
Atas ialah kandungan terperinci Memahami Asas Django. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!