Toshkent axborot texnologiyalari universiteti qarshi filiali kompyuter injiniringi fakulteti dasturiy injiniringi kafedrasi



Download 0,67 Mb.
bet4/4
Sana02.06.2022
Hajmi0,67 Mb.
#630350
1   2   3   4
Bog'liq
Dustmurodov Doston Loyiha

Static Files


  • Deylik, siz “/login/” pagega request yubordingiz(shu pageni rosa ovora qildik bugun :-).
    Requests viewga yetib borgach, u yerda qayta ishlanadi va view response yuboradi. E’tibor bering, bu responseni view o’zi ishlab chiqib, yuborayapti.

  • Lekin u response tarkibida faqat HTML kod bor, sababi templatening o’zida HTML kodlar bor. JS yoki CSS kodlari esa templatega faqat chaqirilgan, lekin templatening ichida emas. Demak, view yuborgan responseda hali CSS va JS qismlari yo’q.

  • Shu response bizning browserimizga yetib kelishi bilan, browserimiz uni o’qishni boshlaydi. Qarab ko’rsa-ki, u chaqirgan CSS va JS fayllar hali yo’q. Shunda browser yana qaytadan serverga request yuborib, kerakli fayllarni so’raydi. Fayl so’ziga e’tibor bering.
    Lekin bu safar request viewgacha yetib kelmaydi. Sababi, bu request tepadagidek qayta ishlab, biror narsani hisoblab, databasedan biror ma’lumot olishni talab qilmaydi.
    Unga faqat server xotirasida, ma’lum manzilda turgan fayl kerak. Biz esa viewni bezovta ham qilmay, so’raganini berib yuboramiz.

  • Mana shu turdagi, ya’ni qayta ishlanmay, o’z holicha xotiradan olinib response ko’rinishida yuboriladigan fayllar static deyiladi.

  • Development jarayonida djangoning o’z serveri static filelarni ham yetkazib bersa-da, loyiha tayyor bo’lib, productionga qo’yilayotganda bu tavsiya qilinmaydi.
    O’rniga, boshqa web server, masalan, Nginx ishlatish tavsiya qilinadi.
    U esa requestni url dispatcherdan ham oldin kutib oladi.

  • Ko’pchilik djangoni yangi o’rganishni boshlaganlar odatda, official documentationsni o’qishni yoqtirishmaydi. Documentation yozayotganda djangoni ishlab chiqqan dasturchilar oldida 2 xil yo’l bor edi: Yo djangoning qulayligini ko’rsatish, yoki to’la kuchini ko’rsatish. Ikkalasini bittada qilish deyarli ilojsiz. Ular ikkinchi yo’lni tanlashdi.
    Shuning uchun yangilar uchun django documentation o’ta tushunarsiz va qiyin ko’rinadi. Shuning uchun boshqa tutoriallarni ma’qul ko’rishadi.
    Lekin django bo’yicha bilimlaringiz oshib borgan sari django documentation qanchalik foydali, zo’r yozilganini his qilasiz.

    Endi esa dastur kodlariga to’xtalib o’tamiz .Biz buning uchun eng asoiy qism bo’lmish views.py faylidagi kodlarni ko’ramiz
    Bosh sahifani chaqirish kodi

    def index(request):


    return render(request, "index.html")
    .
    Endi esa yozilgan kodni tekshirish kodi
    ef runcode(request):

    if request.method == "POST":


    codeareadata = request.POST['codearea']

    try:
    # save original standart output reference


    original_stdout = sys.stdout


    # change the standard output to the file we created
    sys.stdout = open('file.txt', 'w')

    # execute code


    exec(codeareadata) # example => print("hello world")


    sys.stdout.close()


    sys.stdout = original_stdout # reset the standard output to its original value


    # finally read output from file and save in output variable


    output = open('file.txt', 'r').read()


    except Exception as e:


    # to return error in the code
    sys.stdout = original_stdout
    output = e

    # finally return and render index page and send codedata and output to show on page


    return render(request, 'index.html', {"code": codeareadata, "output": output})

    Biz asos kodlarni ko’rib chiqdik endi esa webdasturimizni ishga tushirishimiz uchun python manage.py runserver deb yozib ishga tushiramiz
    Localhost:8000 portida ochiladi

    Webdasturimiz ko’rinishi

    Bu yerga kodni yozamiz


    Mana bu yerda webdasturimiz ishlamoqda

    Notog’ri kod yozsay natijani chiqarmaydi .Biz oddiy compilator yaratdik.

    Xulosa
    Men ushbu loyihamda python Django moduli yordamida online compilator yaratishga harakat qildim.Men ushbu loyihamni yaratishda juda ko’plab muamolarga duch keldim ularni bartaraf etish choralarini topishni o’rgandim



    Download 0,67 Mb.

    Do'stlaringiz bilan baham:
  • 1   2   3   4




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
    ma'muriyatiga murojaat qiling

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish