Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bermula dengan Django: Pengenalan Lengkap kepada Rangka Kerja Web Python

Bermula dengan Django: Pengenalan Lengkap kepada Rangka Kerja Web Python

WBOY
WBOYasal
2023-06-22 10:20:083079semak imbas

Panduan Bermula Django: Pengenalan Lengkap kepada Rangka Kerja Web Python

Dalam dunia pembangunan web, menggunakan rangka kerja untuk pembangunan adalah cara biasa. Rangka kerja ialah kaedah organisasi kod yang menyediakan struktur, fungsi dan peraturan biasa, membolehkan pembangun membina aplikasi Web berfungsi sepenuhnya, boleh dipercayai dan mudah diselenggara dengan cepat. Python mempunyai banyak rangka kerja web yang sangat baik, dan pada masa ini Django merupakan rangka kerja yang paling popular digunakan secara meluas dalam pembangunan pelbagai projek web. Artikel ini akan memperkenalkan pengetahuan pengenalan rangka kerja Django dan membantu pemula untuk bermula dengan cepat.

  1. Apakah itu Django

Django ialah rangka kerja aplikasi web yang ditulis dalam Python. Matlamatnya adalah untuk menjadikan proses membangunkan aplikasi web berkualiti tinggi semudah, pantas dan menyeronokkan yang mungkin. Django mengikut corak reka bentuk MVC (Model-View-Controller) dan menyediakan banyak alatan dan fungsi yang berkuasa untuk membantu pembangun membina aplikasi web yang cekap.

  1. Kelebihan rangka kerja Django

Rangka kerja Django mempunyai kelebihan berikut:

  • Sangat modular: Rangka kerja Django adalah berdasarkan prinsip reka bentuk gandingan longgar Dengan seni bina yang sangat modular, modul yang berbeza boleh ditulis, diuji dan nyahpepijat secara bebas, meningkatkan kecekapan pembangun.
  • Mudah untuk dilanjutkan: Rangka kerja Django menyediakan set kaya dengan pemalam dan modul yang boleh dipanjangkan dan disesuaikan dengan mudah.
  • Keselamatan tinggi: Rangka kerja Django mempunyai banyak ciri keselamatan terbina dalam, seperti perlindungan XSS (skrip merentas tapak), perlindungan CSRF (pemalsuan permintaan merentas tapak), pencincangan kata laluan, dll., membenarkan pembangun untuk membina apl Web yang selamat.
  • Sokongan ORM (Pemetaan Perhubungan Objek): Rangka kerja Django mempunyai sistem ORM terbina dalam, yang boleh memudahkan operasi pangkalan data.
  • Didatangkan dengan sistem pengurusan bahagian belakang: Rangka kerja Django dilengkapi dengan sistem pengurusan bahagian belakang yang kaya yang membolehkan pembangun membangunkan sistem pengurusan kandungan (CMS) dengan mudah.
  1. Pemasangan dan konfigurasi Django

Sebelum anda mula menggunakan Django, anda mesti memasang Python terlebih dahulu. Rangka kerja Django boleh dipasang melalui baris arahan, menggunakan arahan berikut:

pip install Django

Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk mengesahkan sama ada pemasangan berjaya:

django-admin version

Jika nombor versi dikeluarkan, pemasangan berjaya.

  1. Komponen asas rangka kerja Web Django

Komponen Django boleh dibahagikan kepada bahagian berikut:

  • Model: Ini ialah lapisan M dalam MVC Django, bertanggungjawab untuk penyimpanan dan pengendalian data.
  • Lihat lapisan (Paparan): Ini ialah lapisan V dalam MVC Django, bertanggungjawab untuk memproses permintaan HTTP dan mengembalikan respons HTTP.
  • Templat: Ini ialah lapisan C dalam MVC Django, bertanggungjawab untuk memberikan data dan menjana respons HTML.
  • Penghalaan URL (URLconf): Bertanggungjawab untuk mengedarkan permintaan HTTP kepada fungsi paparan yang sepadan.
  1. Penciptaan projek Django

Untuk menggunakan Django untuk mencipta aplikasi web, anda perlu mencipta projek Django terlebih dahulu. Gunakan arahan berikut untuk mencipta projek Django bernama mysite:

django-admin startproject mysite

Selepas arahan itu dilaksanakan, direktori bernama mysite akan dibuat dalam direktori semasa, yang mengandungi fail bernama manage.py dan subdirektori A bernama laman web saya. manage.py ialah alat baris arahan Django yang digunakan untuk menguruskan pelbagai operasi projek Django.

  1. Penciptaan aplikasi Django

Dalam projek Django, setiap fungsi atau logik perniagaan boleh dianggap sebagai aplikasi Django menyokong penciptaan berbilang aplikasi dan Digabungkan menjadi a lengkapkan aplikasi web, laksanakan arahan berikut dalam direktori mysite untuk mencipta aplikasi bernama myapp:

python manage.py startapp myapp

Selepas melaksanakan arahan, subdirektori bernama myapp akan dibuat dalam direktori mysite , yang mengandungi kod aplikasi dan berkaitan fail konfigurasi.

  1. Menulis fungsi paparan untuk aplikasi Django

Fungsi paparan ialah komponen utama aplikasi Django, yang mengendalikan permintaan HTTP dan mengembalikan respons HTTP. Fungsi lihat boleh ditulis dalam fail views.py dalam direktori myapp. Contohnya, tulis fungsi paparan yang mengembalikan rentetan "Hello World!" dalam fail ini:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello World!")

Dalam kod di atas, kami menggunakan kelas HttpResponse, yang digunakan untuk menjana respons HTTP. Untuk mengaitkan fungsi paparan ini dengan URL, konfigurasi berikut diperlukan:

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello'),
]

Kod di atas menggunakan fungsi laluan untuk mengaitkan URL /hello/ dengan fungsi paparan bernama hello.

  1. Templat Rangka Kerja Web Django

Rangka kerja Django menyokong templat (Templat) untuk memisahkan data daripada paparan, menjadikan kod lebih jelas dan lebih mudah diselenggara. Templat ialah fail HTML yang boleh mengandungi data dinamik, gelung, pernyataan bersyarat, dsb.

Menggunakan templat Django memerlukan operasi berikut:

  • Buat subdirektori bernama templat dalam direktori myapp.
  • Buat fail templat HTML bernama hello.html dalam direktori ini:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Hello World!</title>
</head>
<body>
    <h1>{{msg}}</h1>
</body>
</html>

Dalam kod di atas, kurungan dua sintaks "{{}}" digunakan untuk mewakili templat A pembolehubah dalam itu akan digantikan apabila memaparkan templat.

Tulis fungsi paparan dan hantar data kepada templat untuk pemaparan:

from django.shortcuts import render

def hello(request):
    data = {'msg': 'Hello World!'}
    return render(request, 'hello.html', data)

Gunakan fungsi pemaparan untuk pemaparan templat, hantarkan kamus data sebagai parameter kepada templat.

  1. Django数据库操作

在Django项目中,Django提供了一个内置的ORM框架,它方便开发者进行数据库操作。在mysite目录下的settings.py文件中可以进行数据库配置,该文件包含了DATABASES配置节点,该节点用于配置数据库连接相关信息。

在myapp目录下的models.py文件中可以定义数据库模型,例如定义一个名为Person的数据模型类:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()

以上代码中,使用了CharField和IntegerField数据类型来定义模型的字段。使用以下命令可以在数据库中创建该数据模型对应的表:

python manage.py makemigrations
python manage.py migrate

以上命令会根据models.py文件中的定义,在数据库中创建相应的数据表。

  1. Django应用程序的注册

在mysite目录下的settings.py文件中可以进行应用程序注册,将创建的应用程序添加到INSTALLED_APPS配置节点中:

INSTALLED_APPS = [
    'myapp',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

添加应用程序到INSTALLED_APPS节点后,需要在myapp目录下创建名为admin.py的文件,用于创建管理界面。

  1. Django自带后台管理系统

Django提供了一个功能强大的后台管理系统,该系统可以自动根据模型创建对应的管理界面。在myapp目录下的admin.py文件中可以注册模型以创建管理界面,例如:

from django.contrib import admin
from .models import Person

admin.site.register(Person)

以上代码中,使用了register函数来注册Person数据模型,该函数会自动创建对应的管理界面。

  1. Django应用程序的启动

在编辑好Django应用程序之后,通过以下命令即可启动该应用程序:

python manage.py runserver

命令执行后,Django应用程序会运行在本地服务器上,可以在浏览器中访问http://localhost:8000/hello/ URL查看效果。

  1. 结语

Django框架是一个完整的Python Web框架,拥有强大的工具和功能来帮助开发者构建高效、稳定的Web应用程序。本文介绍了Django框架的基础知识,涉及了Django项目的创建、模型定义、视图函数编写、模板使用和后台管理系统等方面。通过本文的学习,读者可以快速入门并掌握Django框架的基础知识,进一步深入学习和应用该框架。

Atas ialah kandungan terperinci Bermula dengan Django: Pengenalan Lengkap kepada Rangka Kerja Web Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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