Bermula dengan Django: Tutorial Rangka Kerja Web Python Prosedur

WBOY
Lepaskan: 2023-06-22 10:06:40
asal
852 orang telah melayarinya

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.

  1. Buat persekitaran maya
    Persekitaran maya boleh membantu kami mengurus perpustakaan bergantung yang berbeza dalam projek yang berbeza. Pertama, kita perlu memasang modul yang dipanggil virtualenv. Masukkan arahan berikut pada baris arahan untuk dipasang (dengan syarat pip telah dipasang).
pip install virtualenv
Salin selepas log masuk

Seterusnya, cipta persekitaran maya baharu menggunakan arahan berikut.

virtualenv djangoenv
Salin selepas log masuk

Dalam contoh ini, nama persekitaran maya ialah djangoenv.

  1. Pasang Django
    Dalam persekitaran maya, gunakan arahan berikut untuk memasang Django.
pip install Django
Salin selepas log masuk

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.

  1. Buat projek
    Buat projek Django baharu menggunakan arahan berikut.
django-admin startproject mysite
Salin selepas log masuk

Dalam contoh ini, nama projek ialah mysite.

  1. Buat aplikasi
    Aplikasi Django terdiri daripada model, paparan dan templat. Di sini, kami akan membuat satu aplikasi bernama blog.
cd mysite
python manage.py startapp blog
Salin selepas log masuk

Arahan ini akan mencipta direktori bernama blog dalam direktori akar projek.
Nota: Perintah ini mesti dijalankan dalam direktori akar projek.

  1. Mengkonfigurasi pangkalan data
    Buka fail mysite/settings.py dan tetapkan DATABASES seperti berikut:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
Salin selepas log masuk

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.

  1. Menjalankan migrasi
    Django menggunakan migrasi untuk mengurus penyegerakan model data dan pangkalan data. Jalankan migrasi awal menggunakan arahan berikut.
python manage.py makemigrations
python manage.py migrate
Salin selepas log masuk

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.

  1. Buat model
    Buat kelas Python dan tentukan sifatnya. Kelas ini akan berfungsi sebagai model data untuk aplikasi.
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
Salin selepas log masuk
  1. Migrasi Model
    Selepas kami mencipta model, kami perlu menjalankan arahan berikut untuk memindahkan model ke pangkalan data.
python manage.py makemigrations blog
python manage.py migrate
Salin selepas log masuk

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.

  1. Buat Paparan
    Buat paparan berikut dalam fail blog/views.py.
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})
Salin selepas log masuk

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.

  1. Buat Templat
    Dalam paparan yang kami takrifkan, kami menggunakan dua templat HTML: index.html dan detail.html. Buat direktori bernama "templat" dalam direktori akar aplikasi blog dan buat direktori bernama "blog" di bawah direktori templat. Buat dua fail HTML bernama "index.html" dan "detail.html" dalam direktori blog.

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 %}
Salin selepas log masuk

detail.html

<h1>{{ blog.title }}</h1>
<p>{{ blog.body }}</p>
<p>Published on {{ blog.pub_date }}</p>
Salin selepas log masuk
  1. 创建URL
    最后,我们要将视图与URL相关联。在blog应用程序的根目录下创建一个名为“urls.py”的文件,并添加以下内容。
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'),
]
Salin selepas log masuk

在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“/”定义了一个变量blog_id,并将其传递给detail视图函数。

六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。

python manage.py runserver
Salin selepas log masuk

如果一切正常,您将看到以下输出。

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.
Salin selepas log masuk

现在您可以打开浏览器,并输入地址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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan