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.
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.
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.
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".
Setelah disimpan, anda akan dihantar ke halaman Ubah hala utama di mana anda boleh melihat dan mengedit semua ubah hala sedia ada.
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.
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!