Django ialah rangka kerja web Python sumber terbuka yang sangat berskala dan fleksibel. Ia menggunakan corak reka bentuk "Model-View-Controller (MVC)" untuk menjadikan pembangunan aplikasi Web pantas dan cekap. Artikel ini akan memberikan pengenalan terperinci kepada pengetahuan asas Django, mengimport dan memasang Django, mencipta pangkalan data, membina model dan penciptaan paparan untuk membantu pemula menguasai Django.
1. Pengetahuan asas tentang Django
Komponen utama Django termasuk: penjadual URL, enjin templat, paparan dan lapisan akses pangkalan data, dsb. Django menyokong berbilang pangkalan data dan menggunakan alat ORM (Pemetaan Hubungan Objek) untuk menyediakan perwakilan objek dan mengakses pangkalan data. Ia menyokong berbilang pelayan web pada masa yang sama, seperti Apache, Nginx, dll. Django juga menyediakan pelbagai fungsi dan komponen, seperti bahagian belakang pengurusan, pemprosesan borang, pengantarabangsaan, keselamatan dan pengesahan, dsb.
2. Import dan pasang Django
Sebelum memasang Django, anda perlu mengesahkan bahawa Python telah berjaya dipasang. Terdapat dua cara untuk memasang Django: satu ialah menggunakan arahan pip (disyorkan), dan satu lagi ialah memuat turun dan memasang secara manual. Di sini kami memperkenalkan kaedah pemasangan pip.
pip install virtualenv
Seterusnya, cipta persekitaran maya baharu menggunakan arahan berikut.
virtualenv djangoenv
Dalam contoh ini, nama persekitaran maya ialah djangoenv.
pip install Django
Arahan ini akan memuat turun versi terkini secara automatik dan memasangnya dalam direktori pakej tapak persekitaran maya.
3. Cipta pangkalan data
Django menyokong berbilang sistem pangkalan data, seperti MySQL, PostgreSQL, dll. Dalam artikel ini, kami akan menggunakan pangkalan data SQLite lalai. SQLite sudah dipasang selepas memasang Python.
django-admin startproject mysite
Dalam contoh ini, nama projek ialah mysite.
cd mysite python manage.py startapp blog
Arahan ini akan mencipta direktori bernama blog dalam direktori akar projek.
Nota: Perintah ini mesti dijalankan dalam direktori akar projek.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
Tetapan ini menetapkan jenis pangkalan data kepada SQLite, Dan namakan fail pangkalan data db.sqlite3. Tetapan DATABASES juga menyokong pangkalan data hubungan lain seperti MySQL dan PostgreSQL.
python manage.py makemigrations python manage.py migrate
Arahan ini akan mencipta fail pangkalan data dan mencipta jadual yang diperlukan untuk mengurus model pangkalan data untuk semua aplikasi yang digunakan oleh Django.
4. Pembinaan Model
Model ialah bahagian penting dalam pemetaan data ke pangkalan data. Untuk menggunakan model, kita perlu menentukan kelas Python yang akan digunakan untuk menentukan jadual dalam pangkalan data. ORM Django menyokong banyak jenis pangkalan data yang berbeza, dan untuk kemudahan, kami akan menggunakan pangkalan data SQLite dalam artikel ini.
from django.db import models class Blog(models.Model): title = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') body = models.TextField() def __str__(self): return self.title
python manage.py makemigrations blog python manage.py migrate
Arahan ini akan mencipta jadual baharu dalam pangkalan data, yang akan mengandungi model data kami yang ditentukan.
5. Penciptaan Lihat
Pandangan ialah bahagian di mana pengguna berinteraksi dengan aplikasi. Paparan ialah satu set fungsi yang mendapatkan data daripada model dan memberikan hasilnya kepada penyemak imbas pengguna. Dalam Django, semua paparan mesti mengembalikan objek respons HTTP. Django juga menyediakan beberapa jenis paparan yang biasa digunakan.
from django.shortcuts import render from django.http import HttpResponse from .models import Blog def index(request): latest_blog_list = Blog.objects.order_by('-pub_date')[:5] context = {'latest_blog_list': latest_blog_list} return render(request, 'blog/index.html', context) def detail(request, blog_id): blog = Blog.objects.get(pk=blog_id) return render(request, 'blog/detail.html', {'blog': blog})
Dua paparan ditakrifkan di sini: indeks dan butiran. Paparan indeks akan mendapat 5 catatan blog terkini dan menjadikannya templat HTML satu demi satu. Paparan terperinci akan mengambil butiran catatan blog dan menjadikannya templat HTML.
index.html
{% if latest_blog_list %} <ul> {% for blog in latest_blog_list %} <li><a href="{% url 'blog:detail' blog.id %}">{{ blog.title }}</a></li> {% endfor %} </ul> {% else %} <p>No blogs are available.</p> {% endif %}
detail.html
<h1>{{ blog.title }}</h1> <p>{{ blog.body }}</p> <p>Published on {{ blog.pub_date }}</p>
from django.urls import path from . import views app_name = 'blog' urlpatterns = [ path('', views.index, name='index'), path('<int:blog_id>/', views.detail, name='detail'), ]
在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“
六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。
python manage.py runserver
如果一切正常,您将看到以下输出。
Performing system checks... System check identified no issues (0 silenced). September 18, 2021 - 18:13:35 Django version 3.2, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.
现在您可以打开浏览器,并输入地址http://127.0.0.1:8000/blog/来访问您的Django网站。
七、总结
本文提供了一个Django入门指南,介绍了Django的基础知识,导入和安装Django,创建数据库,模型构建和视图创建等方面的内容。希望本文能够帮助初学者更好地理解Django,并在他们的Web开发项目中使用它。在Web开发的繁荣时代,Django无疑是一个强大的工具。
Atas ialah kandungan terperinci Bermula dengan Django: Tutorial Rangka Kerja Web Python Prosedur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!