cari

Rumah  >  Soal Jawab  >  teks badan

前端 - 网页根目录改成子目录后,文件如何调用?

用django写的程序,然后大概的问题是这样的.跟这个类似:

然后按照答案 改成 ./ 的话,首页是可以访问的,但是内页,文章页就不行了.
网站的结构 :

默认生成的都是 / 的,我知道把所有的链接前面加一个 目录的名称 比如 /001/ 也是可以访问的,但是感觉这样不够智能 而且也不够方便,求快捷的方法?

PHP中文网PHP中文网2802 hari yang lalu888

membalas semua(4)saya akan balas

  • 怪我咯

    怪我咯2017-04-18 09:08:32

    Petikan berikut adalah daripada buku yang saya tulis sebelum ini: Ia Django

    Gunakan fail statik

    Fail statik juga diperlukan dalam tapak web dinamik, seperti imej, css, fail js, dsb. yang digunakan oleh tapak web. Bagaimanakah kami mengurus dan menggunakan fail statik ini? Pertama, kami menambah dua folder mysite dan static di bawah lapisan atas assets Folder static ialah direktori yang digunakan untuk meletakkan fail statik semasa pembangunan Beberapa subdirektori boleh ditambah di bawah direktori ini untuk meletakkan fail yang berbeza. Jenis fail statik, seperti menetapkan img untuk meletakkan imej atau css untuk meletakkan fail css. Dan assets ialah direktori di mana fail statik diletakkan apabila tapak web sebenarnya dalam talian Sebab mengapa kedua-dua direktori ini dipisahkan adalah kerana kami perlu menyerahkan pengurusan fail statik kepada pelayan web apabila ia berada dalam talian.

    Seterusnya, mari pergi ke settings.py untuk menyediakannya:

    ...
    STATIC_URL = '/static/'
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, 'static'),
    )
    STATIC_ROOTS = os.path.join(BASE_DIR, 'assets')
    ...

    Sebanyak tiga parameter ditetapkan di sini Penerangan terperinci adalah seperti berikut:

    Parameter Penerangan STATIC_URL Corak URL bagi fail statik, di sini kami menetapkannya kepada /static/, kemudian laluan halaman web bermula dengan /static/ akan Dipertimbangkan sebagai fail statik, seperti: http://127.0.0.1/static/hello.png, http://127.0.0.1/static/hi.js, Tetapi jika ia http://127.0.0.1/restaurants/static/, ia akan sepadan dengan laluan dalam urls.py dan bukannya fail statik STATICFILES_DIRS Folder tempat fail statik diletakkan semasa pembangunan. Membenarkan menyediakan berbilang folder untuk menunjukkan lokasi fail statik. Seperti yang ditetapkan di atas, kita boleh menambah folder
    參數 說明
    STATIC_URL 靜態檔的URL pattern,這邊我們設為 /static/ ,那麼在網頁路徑中以 /static/ 開始的便會被視為靜態檔,如: http://127.0.0.1/static/hello.pnghttp://127.0.0.1/static/hi.js ,但如果是 http://127.0.0.1/restaurants/static/ 則會匹配urls.py中的路徑,而非靜態檔
    STATICFILES_DIRS 開發時放置靜態檔的資料夾。允許設置多個資料夾來指示靜態檔的位置。如上面設定,我們可以在與BASE_DIR所指示的資料夾底下新增一個 static 資料夾,並把圖檔,css,js放在裡面
    STATIC_ROOT 上線時放置靜態檔的資料夾。藉由python manage.py collectstatic ,Django 會將 STAIC_DIRS 下發現的靜態檔複製至 STATIC_ROOT 下。由於當設定檔的 DEBUG 設為 False 後,Django 預設便不會處理回傳靜態檔了,藉由指令將這些檔案集合到一個資料夾下,方便網頁伺服器管理及讀取
    di bawah folder yang ditunjukkan oleh BASE_DIR dan meletakkan fail imej, css dan js di dalamnya STATIC_ROOT Folder tempat fail statik diletakkan apabila pergi dalam talian. Dengan python manage.py collectstatic, Django akan menyalin fail statik yang ditemui di bawah STAIC_DIRS ke STATIC_ROOT. Kerana apabila DEBUG fail konfigurasi ditetapkan kepada False, Django tidak akan memproses pemulangan fail statik secara lalai Fail ini dikumpulkan ke dalam folder melalui arahan kepada memudahkan pengurusan dan pembacaan pelayan web

    Selepas menetapkan parameter di atas, anda boleh menggunakan fail statik dalam folder STATICFILES_DIRS dalam templat. Katakan tapak web ingin menambah gambar logo.png (letak pada mysite/static/img/logo.png) pada halaman, kami akan menulis ini pada templat:

    ...
        <img src='/static/img/logo.png'>
    ...

    Anda sudah selesai. Tetapi jika suatu hari laluan halaman web fail statik terpaksa ditukar kepada /static_file/, anda perlu mencari laluan dan mengubah suai satu templat pada satu masa Tidakkah ini memenatkan? Perbandingan dengan "Django" adalah seperti berikut:

    {% load staticfiles %}
    ...
        <img src="{% static 'img/logo.png' %}">
    ...

    Sila ingat untuk memuatkan staticfiles dalam templat dahulu, kemudian gunakan teg {% static ...%}. Selepas pelarasan di atas, Django akan menukar {% static 'img/logo.png' %} kepada '/static/img/logo.png' apabila memproses fail statik, dan apabila anda perlu mengubah suai laluan fail statik, anda boleh mengubah suai settings.py dengan selamat dan berani dalam fail STATIC_URL. Tidak perlu risau tentang mengubah suai sejumlah besar templat.


    Soalan yang saya jawab: Python-QA

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:08:32

    Jika anda merujuk kepada URL yang sepadan dengan View, anda boleh membaca dokumen ini
    https://docs.djangoproject.com/en/1.9/intro/tutorial03/#removing-hardcoded-urls-in-templates

    Jika anda merujuk kepada fail statik, seperti js, css, anda boleh mencapainya dengan menukar STATIC_URL dalam konfigurasi Django
    https://docs.djangoproject.com/en/ 1.9/howto /static-files/

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:08:32

    .NET mempunyai urlrewrite keluar
    Kedengarannya mengelirukan
    Ringkasnya, tambah penapis sebelum output html
    Gantikan semua alamat pautan bermula dengan /

    balas
    0
  • 黄舟

    黄舟2017-04-18 09:08:32

    Apache nampaknya boleh menggunakan fail .htaccess untuk menulis semula alamat yang diakses, peraturan biasa

    balas
    0
  • Batalbalas