Rumah pembangunan bahagian belakang Tutorial Python Sistem blog berbilang pengguna yang dilaksanakan oleh Django

Sistem blog berbilang pengguna yang dilaksanakan oleh Django

Jun 18, 2023 am 08:20 AM
django berbilang pengguna Sistem blog

Django ialah rangka kerja web yang cekap berdasarkan bahasa pengaturcaraan Python Ia menyediakan rangka kerja corak MVC lengkap yang boleh melaksanakan aplikasi web dengan mudah. Dalam artikel ini, saya akan memperkenalkan cara menggunakan Django untuk melaksanakan sistem blog berbilang pengguna supaya berbilang pengguna boleh mendaftar, log masuk dan menerbitkan catatan blog mereka sendiri.

Langkah pertama ialah memasang Django
Sebelum memulakan pembangunan, anda perlu memasang Django. Anda boleh menggunakan arahan berikut untuk memasang versi terkini Django:

pip install Django

Langkah kedua ialah mencipta projek dan aplikasi Django
Dalam Django, projek boleh mengandungi berbilang aplikasi. Aplikasi biasanya bertanggungjawab untuk fungsi tertentu. Sekarang, kita perlu mencipta projek Django dan aplikasi blog. Ia boleh dibuat menggunakan arahan berikut:

django-admin startproject myblog
cd myblog
python manage.py startapp blog

Dalam arahan di atas, kami mencipta projek yang dipanggil Projek Django Myblog, dan mencipta aplikasi bernama blog dalam projek itu.

Langkah ketiga ialah mengkonfigurasi pangkalan data
Dalam Django, pangkalan data lalai ialah SQLite, tetapi pangkalan data lain (seperti MySQL, PostgreSQL, dll.) juga boleh digunakan. Kita perlu mengkonfigurasinya dalam fail settings.py projek Django. Buka fail settings.py dan tambah maklumat konfigurasi pangkalan data yang sesuai dalam DATABASES.

Langkah 4, tentukan model
Sekarang, kita perlu menentukan model catatan blog. Dalam Django, model mentakrifkan jadual pangkalan data dan medan yang dikaitkan dengan jadual itu. Dalam fail models.py aplikasi blog, kita boleh mentakrifkan model berikut:

daripada model import django.db
daripada django.contrib.auth.models import User

kelas Siaran (model.Model):

title = models.CharField(max_length=100)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(User, on_delete=models.CASCADE)
Salin selepas log masuk

Dalam model, kami mentakrifkan model Siaran, yang mengandungi medan berikut:

tajuk: Tajuk artikel, taip CharField.
kandungan: kandungan artikel, jenis ialah TextField.
pub_date: masa penerbitan artikel, jenis ialah DateTimeField, medan ini menggunakan parameter auto_now_add=True, yang bermaksud ia ditetapkan secara automatik kepada masa semasa semasa membuat artikel baharu.
pengarang: pengarang artikel, taip ForeignKey, dikaitkan dengan model Pengguna terbina dalam Django.

Langkah 5, konfigurasikan penghalaan
Kini kami perlu mengkonfigurasi penghalaan URL supaya aplikasi kami boleh mengendalikan permintaan yang berbeza (seperti senarai catatan blog, butiran siaran, buat siaran, dll.). Dalam fail urls.py aplikasi, kami boleh menambah kod berikut:

dari laluan import django.urls
daripada paparan import

urlpatterns = [

path('', views.IndexView.as_view(), name='index'),
path('post/<int:pk>/', views.PostDetailView.as_view(), name='post_detail'),
path('post/add/', views.PostCreateView.as_view(), name='post_create'),
Salin selepas log masuk
<. 🎜 >]

Dalam kod di atas, kami mentakrifkan tiga laluan:

Laluan kosong menghala ke fungsi paparan IndexView.as_view() dan dinamakan "index".

Laluan yang digunakan untuk memaparkan butiran artikel. Laluan menerima parameter integer bernama pk dan menunjuk ke fungsi paparan PostDetailView.as_view() bernama "post_detail".
Laluan untuk mencipta artikel baharu. Laluan ini menghala ke fungsi paparan PostCreateView.as_view() dan dinamakan "post_create".

Langkah 6, tentukan paparan

Sekarang kita perlu menentukan fungsi paparan yang mengendalikan penghalaan untuk bertindak balas kepada permintaan yang berbeza. Fungsi ini harus mengembalikan objek HttpResponse yang mengandungi kandungan HTML, JSON atau XML respons yang diingini. Dalam fail views.py aplikasi blog, kita boleh mentakrifkan fungsi paparan berikut:

daripada django.contrib.auth.mixins import LoginRequiredMixin

dari django.views.generic import ListView, DetailView, CreateView
daripada .models import Post

class IndexView(ListView):

model = Post
template_name = 'blog/index.html'
context_object_name = 'posts'
ordering = ['-pub_date']
Salin selepas log masuk

class PostDetailView(DetailView):

model = Post
template_name = 'blog/post_detail.html'
context_object_name = 'post'
Salin selepas log masuk

class PostCreateView(LoginRequiredMixin, CreateView):

model = Post
template_name = 'blog/post_form.html'
fields = ['title', 'content']
success_url = '/'

def form_valid(self, form):
    form.instance.author = self.request.user
    return super().form_valid(form)
Salin selepas log masuk
Dalam kod di atas, kami mentakrifkan tiga fungsi paparan:

IndexView: Memaparkan senarai catatan blog. Paparan ini mewarisi daripada ListView dan boleh dilaksanakan dengan menentukan atribut seperti model, nama_templat, nama_objek_konteks dan pesanan.

PostDetailView: Memaparkan butiran satu catatan blog. Diwarisi daripada DetailView, hanya perlu menentukan model dan template_name.
PostCreateView: digunakan untuk membuat catatan blog baharu. Diwarisi daripada CreateView, anda perlu menentukan atribut seperti model, template_name, medan dan success_url. Pada masa yang sama, kami menggunakan kelas mixin LoginRequiredMixin untuk memastikan bahawa hanya pengguna log masuk boleh mengakses paparan. Dalam kaedah form_valid(), kami menetapkan pengarang artikel kepada pengguna semasa.

Langkah 7, tulis templat

Akhir sekali, kita perlu menulis templat yang sepadan dengan fungsi paparan. Dalam direktori templat aplikasi blog, kita boleh mencipta fail templat berikut:

base.html: templat asas yang digunakan untuk semua halaman.

index.html: Templat yang memaparkan semua catatan blog.
post_detail.html: Templat yang memaparkan butiran satu catatan blog.
post_form.html: Templat untuk membuat catatan blog baharu.

Antaranya, base.html mengandungi elemen halaman yang biasa kepada templat lain. index.html memaparkan ringkasan semua catatan blog dan menyediakan pandangan yang dipautkan kepada butiran siaran. post_detail.html memaparkan butiran satu catatan blog sambil menyediakan pautan kepada paparan untuk mengedit dan memadamkan siaran. post_form.html Borang untuk membuat catatan blog baharu.

Melalui langkah di atas, kita boleh menggunakan Django untuk melaksanakan sistem blog berbilang pengguna. Sistem ini membenarkan berbilang pengguna untuk mendaftar, log masuk dan menerbitkan catatan blog mereka sendiri. Ini menjadikan kandungan laman web lebih kaya, dan juga memudahkan komunikasi dengan pengguna lain dan menghargai artikel.

Atas ialah kandungan terperinci Sistem blog berbilang pengguna yang dilaksanakan oleh Django. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyemak versi django Bagaimana untuk menyemak versi django Dec 01, 2023 pm 02:25 PM

Langkah-langkah untuk menyemak versi Django: 1. Buka terminal atau tetingkap command prompt 2. Pastikan Django tidak dipasang, anda boleh menggunakan alat pengurusan pakej untuk memasangnya dan masukkan perintah pip install django; Selepas pemasangan selesai, anda boleh menggunakan python -m django --version untuk menyemak versi Django.

Django vs. Flask: Analisis perbandingan rangka kerja web Python Django vs. Flask: Analisis perbandingan rangka kerja web Python Jan 19, 2024 am 08:36 AM

Django dan Flask adalah kedua-duanya peneraju dalam rangka kerja Web Python, dan kedua-duanya mempunyai kelebihan dan senario yang boleh digunakan. Artikel ini akan menjalankan analisis perbandingan kedua-dua rangka kerja ini dan memberikan contoh kod khusus. Pengenalan Pembangunan Django ialah rangka kerja Web berciri penuh, tujuan utamanya adalah untuk membangunkan aplikasi Web yang kompleks dengan cepat. Django menyediakan banyak fungsi terbina dalam, seperti ORM (Pemetaan Hubungan Objek), borang, pengesahan, bahagian belakang pengurusan, dsb. Ciri-ciri ini membolehkan Django mengendalikan besar

Kebaikan dan Keburukan Rangka Kerja Django: Semua yang Anda Perlu Tahu Kebaikan dan Keburukan Rangka Kerja Django: Semua yang Anda Perlu Tahu Jan 19, 2024 am 09:09 AM

Django ialah rangka kerja pembangunan lengkap yang merangkumi semua aspek kitaran hayat pembangunan web. Pada masa ini, rangka kerja ini merupakan salah satu rangka kerja web yang paling popular di seluruh dunia. Jika anda bercadang untuk menggunakan Django untuk membina aplikasi web anda sendiri, maka anda perlu memahami kelebihan dan kekurangan rangka kerja Django. Berikut ialah semua yang anda perlu ketahui, termasuk contoh kod khusus. Kelebihan Django: 1. Pembangunan pesat-Djang boleh membangunkan aplikasi web dengan cepat. Ia menyediakan perpustakaan yang kaya dan dalaman

Bagaimana untuk menyemak versi django Bagaimana untuk menyemak versi django Nov 30, 2023 pm 03:08 PM

Cara menyemak versi django: 1. Untuk menyemak melalui baris arahan, masukkan arahan "python -m django --version" dalam terminal atau tetingkap baris arahan 2. Untuk menyemak dalam persekitaran interaktif Python, masukkan "import django print(django. get_version())" code; 3. Semak fail tetapan projek Django dan cari senarai bernama INSTALLED_APPS, yang mengandungi maklumat aplikasi yang dipasang.

Cara menaik taraf versi Django: langkah dan pertimbangan Cara menaik taraf versi Django: langkah dan pertimbangan Jan 19, 2024 am 10:16 AM

Cara menaik taraf versi Django: langkah dan pertimbangan, contoh kod khusus diperlukan Pengenalan: Django ialah rangka kerja Web Python yang berkuasa yang sentiasa dikemas kini dan dinaik taraf untuk memberikan prestasi yang lebih baik dan lebih banyak ciri. Walau bagaimanapun, bagi pembangun yang menggunakan versi lama Django, menaik taraf Django mungkin menghadapi beberapa cabaran. Artikel ini akan memperkenalkan langkah dan langkah berjaga-jaga tentang cara untuk meningkatkan versi Django dan memberikan contoh kod khusus. 1. Sandarkan fail projek sebelum menaik taraf Djan

Bagaimana untuk menggunakan pemetaan hubungan objek (ORM) dalam PHP untuk memudahkan operasi pangkalan data? Bagaimana untuk menggunakan pemetaan hubungan objek (ORM) dalam PHP untuk memudahkan operasi pangkalan data? May 07, 2024 am 08:39 AM

Operasi pangkalan data dalam PHP dipermudahkan menggunakan ORM, yang memetakan objek ke dalam pangkalan data hubungan. EloquentORM dalam Laravel membolehkan anda berinteraksi dengan pangkalan data menggunakan sintaks berorientasikan objek Anda boleh menggunakan ORM dengan mentakrifkan kelas model, menggunakan kaedah Eloquent atau membina sistem blog dalam amalan.

Apakah perbezaan antara versi django? Apakah perbezaan antara versi django? Nov 20, 2023 pm 04:33 PM

Perbezaannya ialah: 1. Siri Django 1.x: Ini ialah versi awal Django, termasuk versi 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 dan 1.9. Versi ini menyediakan fungsi pembangunan web asas; 2. Siri Django 2.x: Ini adalah versi jangka pertengahan Django, termasuk versi 2.0, 2.1, 2.2 dan lain-lain siri Django Termasuk versi 3.0, 3, dsb.

Adakah django bahagian hadapan atau belakang? Adakah django bahagian hadapan atau belakang? Nov 21, 2023 pm 02:36 PM

Django ialah bahagian belakang. Butiran: Walaupun Django terutamanya rangka kerja bahagian belakang, ia berkait rapat dengan pembangunan bahagian hadapan. Melalui ciri seperti enjin templat Django, pengurusan fail statik dan API RESTful, pembangun bahagian hadapan boleh bekerjasama dengan pembangun bahagian belakang untuk membina aplikasi web yang berkuasa dan boleh skala.

See all articles