Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tutorial Apl Ubah hala Django

Tutorial Apl Ubah hala Django

王林
王林asal
2024-09-06 06:02:07963semak imbas

Ubah hala URL ialah bahagian asas dalam mengekalkan tapak web pengeluaran. Terdapat banyak sebab mengapa anda mungkin ingin mengubah hala pengguna dari satu bahagian tapak web anda ke bahagian lain, tetapi berbuat demikian dengan betul adalah penting untuk pengalaman pengguna yang positif dan untuk mengekalkan SEO maksimum (Pengoptimuman Enjin Carian) yang mungkin .

Django dihantar dengan apl ubah hala terbina dalam untuk membantu mengurus ubah hala, tetapi dokumentasi rasmi tidak begitu mesra kepada pendatang baru, oleh itu tutorial ini.

Sediakan Ubah hala Django

Apl ubah hala Django berfungsi bersama rangka kerja tapak, yang juga terbina dalam tetapi tidak dipasang secara automatik. Kami, sebagai pembangun Django, memerlukan beberapa persediaan untuk menggunakan kedua-duanya sepenuhnya.

Untuk mengkonfigurasi rangka kerja Tapak, tambahkannya pada konfigurasi INSTALLED_APPS dalam settings.py dan tetapkan SITE_ID. Ia adalah kebiasaan untuk mentakrifkan aplikasi web dengan hanya satu tapak sebagai 1.

# settings.py
INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "django.contrib.sites",  # new
]

SITE_ID = 1  # new

Untuk kesempurnaan, anda harus menjalankan migrasi sekarang untuk mengemas kini pangkalan data anda.

(.venv) $ python manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, contenttypes, sessions, sites
Running migrations:
 Applying sites.0001_initial... OK
 Applying sites.0002_alter_domain_unique... OK

Seperti rangka kerja Tapak, apl ubah hala disertakan dalam Django secara lalai tetapi memerlukan beberapa konfigurasi. Kami akan mengemas kini INSTALLED_APPS, MIDDLEWARE dan sekali lagi menjalankan penghijrahan pangkalan data. Ambil perhatian bahawa apabila menambah middleware, ia harus diletakkan berhampiran bahagian bawah untuk berfungsi dengan betul kerana middleware dijalankan dari atas ke bawah untuk permintaan HTTP (dan bawah ke atas untuk respons HTTP, tetapi itu adalah topik untuk hari lain).

# settings.py
INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "django.contrib.sites",
    "django.contrib.redirects",  # new
    # other local and 3rd party apps
]

MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
    # ... any other custom middleware ...
    "django.contrib.redirects.middleware.RedirectFallbackMiddleware",  # new
]

Sekarang jalankan migrasi untuk mencipta jadual pangkalan data yang diperlukan untuk apl ubah hala berfungsi.

(.venv) $ python manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, contenttypes, redirects, sessions, sites
Running migrations:
 Applying redirects.0001_initial... OK
 Applying redirects.0002_alter_redirect_new_path_help_text... OK

Penyediaan kami sudah lengkap. Mari terokai dua pendekatan berbeza untuk menggunakannya.

Pendekatan 1: Antara Muka Pentadbir

Pentadbir Django ialah cara yang mesra pengguna untuk mengurus ubah hala tanpa menulis sebarang kod. Ia sesuai untuk menyediakan sebilangan kecil ubah hala dengan pantas atau untuk ahli pasukan bukan teknikal.

Log masuk ke pentadbir: bahagian Ubah hala dan Tapak sepatutnya kelihatan.

Django Redirects App Tutorial

Klik pada butang "+Tambah" di sebelah Ubah hala. Ia memaparkan borang untuk memilih Tapak, laluan "ubah hala dari" dan laluan "ubah hala ke". Seperti yang dinyatakan pada halaman, gunakan laluan mutlak untuk yang pertama dan sama ada laluan mutlak atau URL penuh untuk yang terakhir.

Berikut ialah contoh menambahkan ubah hala daripada "example.com/old" kepada "example.com/new".

Django Redirects App Tutorial

Setelah disimpan, anda akan dihantar ke halaman Ubah hala utama di mana anda boleh melihat dan mengedit semua ubah hala sedia ada.

Django Redirects App Tutorial

Jika anda ingin menukar bahagian "example.com" tapak, klik pada bahagian Tapak dan anda boleh mengemas kini Nama Domain atau Nama Paparan. Nama Paparan ialah nama yang boleh dibaca manusia untuk tapak, digunakan dalam pentadbir dan dalam templat untuk pengenalan. Nama Domain digunakan untuk penjanaan dan pengesahan URL, seperti dalam peta tapak.

Langkah Seterusnya

Apl ubah hala menggunakan ubah hala kekal (301) secara lalai, yang biasanya anda mahukan untuk tujuan SEO. Adalah penting untuk sentiasa menyemak ubah hala anda dan memantau prestasi pada tapak web pengeluaran, kerana sejumlah besar ubah hala boleh memberi kesan kepada prestasi dan anda mungkin melihat pilihan caching jika ini menjadi isu. Selain itu, ingat untuk menggunakan URL relatif untuk laluan baharu bagi memudahkan peralihan antara persekitaran tempatan, pementasan dan pengeluaran. Petua terakhir ialah menambah ujian untuk mengesahkan bahawa ubah hala berfungsi seperti yang diharapkan.

Jika anda mahukan petua tambahan untuk mengoptimumkan SEO tapak web Django anda, lihat senarai tutorial mengenai topik ini.

Atas ialah kandungan terperinci Tutorial Apl Ubah hala Django. 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