Anda dapat langsung mengunggah file ke pythonanywhere tetapi disarankan untuk mengkloning proyek Anda dari github
Sebelum mengunggah file Anda, Anda juga perlu menambahkan satu hal di daftar ALLOWED_HOST di dalam pengaturan. py, itu adalah domain Anda
ALLOWED_HOSTS = ['username.pythonanywhere.com']Jika tidak, Anda akan mendapatkan HTTP_HOST_ERROR INVALID
Langkah 2. Kloning repositori
Buka konsol bash di pythonanywhere dan tiru kode Anda
git clone yourprojectlink
Langkah 3 Buat dan Aktifkan virtualenv
virtualenv --python=python3.7 venv
source venv/bin/activate
Langkah 4 Instal Django dan persyaratan lain yang diperlukan
Jika aplikasi web Anda hanya berbasis Django, jalankan
pip install django
Atau, jika Anda memiliki persyaratan. txt, jalankan
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _0
Langkah 5 Menyiapkan Database (opsional)
ikuti langkah ini hanya jika aplikasi Anda menggunakan database, jika tidak lanjutkan ke langkah 7
Pengaturan database default disediakan oleh Django. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _1
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _Anda perlu membuat database di pythonanywhere di bawah bagian database dan menyetel kata sandi untuk itu. Setelah Anda melakukan itu Anda pengaturan Anda
#Production DB settings DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'username$dbname', 'USER': 'username', 'PASSWORD': 'dbpassword', 'HOST': 'username.mysql.pythonanywhere-services.com', } } _Kembali ke konsol dan jalankan migrasi untuk mengisi pengaturan basis data, pastikan Anda berada di direktori yang berisi pengelolaan. file py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _2
Di bawah bagian Web, klik tambahkan aplikasi web baru
Klik Berikutnya
Kemudian Pilih konfigurasi manual lalu klik Next
Kemudian pilih versi python, dan klik Next
Setelah selesai, Anda akan melihat halaman yang berisi banyak informasi. Saat ini proyek kami tidak ditautkan ke aplikasi web ini
Kami akan mulai dengan memberi tahu webapp jalur ke virtualenv. Pada input virtualenv masukkan nama virtualenv yang telah kita buat sebelumnya
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _3
Langkah 8. 1 Mengonfigurasi file wsgi
Buka file konfigurasi wsgi
Gulir ke bawah hingga Anda melihat, konfigurasi terkait dengan Django
# +++++++++++ DJANGO +++++++++++ # To use your own django app use code like this: import os import sys # assuming your django settings file is at '/home/username/mysite' # and your manage.py is is at '/home/amaanx/mysite/manage.py' path = '/home/username/projectname' <------ a change if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE'] = 'projectname.settings' <----- b change # then: from django.core.wsgi import get_wsgi_application application = get_wsgi_application()Anda dapat menyimpan bagian kode ini dan menghapus yang lain
Di sana Anda perlu memperbarui dua hal
a. Jalan menuju proyek b. Nama modul yang berisi pengaturan. file py
Jika Anda memiliki struktur direktori yang aneh, mis. e. Anda memiliki file pengaturan jauh di dalam struktur yang akan Anda ubah b sesuai
contoh
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _4
Simpan perubahan dan Muat ulang aplikasi. Buka tautannya dan mungkin aplikasi web Anda sekarang akan berfungsi
Jika tidak, Anda dapat memeriksa kesalahan pada kesalahan. tautan log. Anda dapat melakukan pencarian google cepat untuk menyelesaikan kesalahan atau Anda dapat memposting kesalahan Anda di komentar di bawah, saya akan membantu Anda menyelesaikannya
Kiat keamanan
Atur DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _5 di pengaturan. py, Setelah aplikasi Anda hidup. Karena dapat mengungkap bagian dalam aplikasi Anda dan peretas dapat menemukan cara untuk masuk ke aplikasi Anda
file Css
Kemungkinan Anda mungkin tidak dapat melihat file css dan statis mewah Anda seperti imags di aplikasi Anda setelah Anda menerapkannya. Itu karena file statis dilayani secara berbeda oleh server yang berbeda
Saat Anda bekerja di situs Anda secara lokal, Django sendiri menangani penyajian berkas statis
Tetapi setelah Anda mengunggah file Anda ke pythonanywhere Anda perlu melakukan beberapa hal
Konfigurasikan pengaturan. py
Tambahkan baris ini di akhir,
STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), #'/var/www/static/', ] STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")di url. py, tambahkan
from django.conf import settings ... if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)Kemudian setelah Anda selesai melakukannya, dorong perubahan
Dan di konsol pythonanywhere, jalankan perintah berikut
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } _6
Ini akan mengumpulkan semua file statis dan meletakkannya di direktori static_cdn
Sekarang Anda perlu pythonanywhere tentang direktori ini, buka bagian web. Gulir ke bawah hingga Anda melihat bagian File Statis
Di tempatkan URL. / statis / Di jalur put. /statis_cdn/
Sekarang muat ulang Aplikasi, Jika Anda tidak dapat melihat perubahannya, coba bersihkan cache browser Anda dan muat ulang lagi