Apa yang diharapkan daripada artikel ini?
Artikel ini akan merangkumi pelaksanaan Swagger dalam projek rangka kerja rehat Django; kami akan mengusahakan pengurusan akaun kami
Pesanan siri
Semak artikel sebelum ini jika berminat!
- Projek AI dari Scratch, The Idea, Alive Diary
- Buktikan ia boleh dilaksanakan dengan Google AI Studio
- Persediaan Projek API Django
- Pengurusan akaun Django (1), pendaftaran dan pengaktifan
- Pengurusan akaun Django (2), log masuk dan tukar kata laluan
- Swagger dengan rangka kerja rehat Django (Anda di sini ?)
Pemasangan dan persediaan
Penjana swagger terbaik yang saya temui untuk rangka kerja rehat ialah drf-yasg, tetapi saya terbuka kepada cadangan jika anda tahu yang lebih baik!
Mari mulakan dengan pemasangan pakej
pip install drf-yasg
kini beralih ke fail tetapan kami
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'drf_yasg', #new 'corsheaders', 'rest_framework', 'django_filters', 'app_account', 'app_admin', 'app_main', ] SWAGGER_SETTINGS = { 'LOGIN_URL' : '/api/account/login/', 'SECURITY_DEFINITIONS': { 'Bearer': { 'type': 'apiKey', 'name': 'Authorization', 'in': 'header' } } } REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework_simplejwt.authentication.JWTAuthentication', ], 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema' }
alive_diary/settings.py
Kami telah menambahkan apl drf_yasg pada apl yang dipasang dan menetapkan kaedah pengesahan lalai kepada token Pembawa JWT.
sekarang ke fail URL
from django.contrib import admin from django.urls import path, include from rest_framework.documentation import include_docs_urls # new from rest_framework.schemas import get_schema_view # new from drf_yasg.views import get_schema_view # new from drf_yasg import openapi # new schema_view = get_schema_view( openapi.Info( title="Swagger API", default_version='v1', ), public=True, ) API_DESCRIPTION = 'A Web API for creating and editing.' # new API_TITLE = 'API' # new urlpatterns = [ path('admin/', admin.site.urls), path('api/account/', include('app_account.urls')), path('docs/', include_docs_urls(title=API_TITLE,description=API_DESCRIPTION)), # new path('swagger/', schema_view.with_ui('swagger',cache_timeout=0),name="swagger-schema"), # new ]
itu sahaja! kerja yang bagus!
jom cuba
python manage.py runserver 0.0.0.0:8555
membuka http://localhost:8555/swagger/ sepatutnya kelihatan seperti
Menguji Swagger dengan ApiView tersuai
mari mulakan dengan log masuk menggunakan paparan API log masuk dalam swagger
Kemudian, kami mengesahkan menggunakan butang "Izinkan" di bahagian atas halaman sombong. Pastikan anda menggunakan token akses dan jangan lupa Pembawa di hadapannya: "Token pembawa..."
mari cuba tukar kata laluan menggunakan Swagger
kosong! swagger tidak dapat mengenali skema permintaan, cara paling mudah untuk menyesuaikannya ialah menggunakan skema auto swagger
from drf_yasg.utils import swagger_auto_schema #new class AccountChangePasswordView(APIView): permission_classes = (IsAuthenticated,) renderer_classes = [CustomRenderer, BrowsableAPIRenderer] @swagger_auto_schema(request_body=ChangePasswordSerializer) # new def post(self, request, *args, **kwargs): serializer = ChangePasswordSerializer(data=request.data) if not serializer.is_valid(): raise APIException(serializer.errors) user = request.user password = serializer.validated_data.get("password") new_password = serializer.validated_data.get("new_password") if not user.check_password(password): raise APIException("invalid_password") user.set_password(new_password) user.save() return Response("success")
ia kelihatan baik sekarang
kami boleh menguji semua permintaan yang disahkan menggunakan Swagger sekarang! artikel seterusnya akan kembali ke apl akaun
Nantikan ?
Atas ialah kandungan terperinci Rangka kerja Django Rest dengan Swagger. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Tutorial ini menunjukkan cara menggunakan Python untuk memproses konsep statistik undang -undang ZIPF dan menunjukkan kecekapan membaca dan menyusun fail teks besar Python semasa memproses undang -undang. Anda mungkin tertanya -tanya apa maksud pengedaran ZIPF istilah. Untuk memahami istilah ini, kita perlu menentukan undang -undang Zipf. Jangan risau, saya akan cuba memudahkan arahan. Undang -undang Zipf Undang -undang Zipf hanya bermaksud: Dalam korpus bahasa semulajadi yang besar, kata -kata yang paling kerap berlaku muncul kira -kira dua kali lebih kerap sebagai kata -kata kerap kedua, tiga kali sebagai kata -kata kerap ketiga, empat kali sebagai kata -kata kerap keempat, dan sebagainya. Mari kita lihat contoh. Jika anda melihat corpus coklat dalam bahasa Inggeris Amerika, anda akan melihat bahawa perkataan yang paling kerap adalah "th

Artikel ini menerangkan cara menggunakan sup yang indah, perpustakaan python, untuk menghuraikan html. Ia memperincikan kaedah biasa seperti mencari (), find_all (), pilih (), dan get_text () untuk pengekstrakan data, pengendalian struktur dan kesilapan HTML yang pelbagai, dan alternatif (sel

Berurusan dengan imej yang bising adalah masalah biasa, terutamanya dengan telefon bimbit atau foto kamera resolusi rendah. Tutorial ini meneroka teknik penapisan imej di Python menggunakan OpenCV untuk menangani isu ini. Penapisan Imej: Alat yang berkuasa Penapis Imej

Artikel ini membandingkan tensorflow dan pytorch untuk pembelajaran mendalam. Ia memperincikan langkah -langkah yang terlibat: penyediaan data, bangunan model, latihan, penilaian, dan penempatan. Perbezaan utama antara rangka kerja, terutamanya mengenai grap pengiraan

Python, kegemaran sains dan pemprosesan data, menawarkan ekosistem yang kaya untuk pengkomputeran berprestasi tinggi. Walau bagaimanapun, pengaturcaraan selari dalam Python memberikan cabaran yang unik. Tutorial ini meneroka cabaran -cabaran ini, memberi tumpuan kepada Interprete Global

Tutorial ini menunjukkan mewujudkan struktur data saluran paip tersuai di Python 3, memanfaatkan kelas dan pengendali yang berlebihan untuk fungsi yang dipertingkatkan. Fleksibiliti saluran paip terletak pada keupayaannya untuk menggunakan siri fungsi ke set data, GE

Serialization dan deserialization objek Python adalah aspek utama dari mana-mana program bukan remeh. Jika anda menyimpan sesuatu ke fail python, anda melakukan siri objek dan deserialization jika anda membaca fail konfigurasi, atau jika anda menjawab permintaan HTTP. Dalam erti kata, siri dan deserialization adalah perkara yang paling membosankan di dunia. Siapa yang peduli dengan semua format dan protokol ini? Anda mahu berterusan atau mengalirkan beberapa objek python dan mengambilnya sepenuhnya pada masa yang akan datang. Ini adalah cara yang baik untuk melihat dunia pada tahap konseptual. Walau bagaimanapun, pada tahap praktikal, skim siri, format atau protokol yang anda pilih boleh menentukan kelajuan, keselamatan, kebebasan status penyelenggaraan, dan aspek lain dari program

Modul Statistik Python menyediakan keupayaan analisis statistik data yang kuat untuk membantu kami dengan cepat memahami ciri -ciri keseluruhan data, seperti biostatistik dan analisis perniagaan. Daripada melihat titik data satu demi satu, cuma melihat statistik seperti min atau varians untuk menemui trend dan ciri dalam data asal yang mungkin diabaikan, dan membandingkan dataset besar dengan lebih mudah dan berkesan. Tutorial ini akan menjelaskan cara mengira min dan mengukur tahap penyebaran dataset. Kecuali dinyatakan sebaliknya, semua fungsi dalam modul ini menyokong pengiraan fungsi min () dan bukan hanya menjumlahkan purata. Nombor titik terapung juga boleh digunakan. Import secara rawak Statistik import dari fracti


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
