Pereiti prie turinio

Python django puslapiavimas


Rekomenduojami pranešimai

EDIT: Jei labiau mėgsti vaizdinę medžiagą: http://godjango.com/12-pagination/

 

Kaip realizuoti puslapiavimą

 

# Sukuriamas puslapiavimo objektas.
pages = Paginator(model.objects.all(), models_in_page)
# Paimami tam tikro puslapio modeliai
puslapis = pages.page(tavo_puslapio_numeris)
# Juos naudoji kaip bet kokį kitą iteratorių.

Paginator.page gražina Page objektą, kuris aprašo metodus iteracijai atlikti. Tai reiškia kad per tą objektą gali be problemų naudoti lygiai tuo pačiu būdu kaip ir list'ą.

Taip pat į Paginator konstruktorių nebūtina paduoti būtent modelius. Galima duoti bet kokį iteratorių. Kad ir list'ą.

 

Kaip visada docs.djangoproject.com turi puikų pavyzdį ir išsamią dokumentaciją: https://docs.djangoproject.com/en/1.4/topics/pagination/

 

Kaip vyksta aprašyta https://code.djangoproject.com/browser/django/trunk/django/core/paginator.py

Kuo anksčiau išmoksi pats skaityti kodą, tuo bus geriau.

Redagavo nagisa
Nuoroda į pranešimą
Dalintis kituose puslapiuose

EDIT: Jei labiau mėgsti vaizdinę medžiagą: http://godjango.com/12-pagination/

 

Kaip realizuoti puslapiavimą

 

# Sukuriamas puslapiavimo objektas.
pages = Paginator(model.objects.all(), models_in_page)
# Paimami tam tikro puslapio modeliai
puslapis = pages.page(tavo_puslapio_numeris)
# Juos naudoji kaip bet kokį kitą iteratorių.

Paginator.page gražina Page objektą, kuris aprašo metodus iteracijai atlikti. Tai reiškia kad per tą objektą gali be problemų naudoti lygiai tuo pačiu būdu kaip ir list'ą.

Taip pat į Paginator konstruktorių nebūtina paduoti būtent modelius. Galima duoti bet kokį iteratorių. Kad ir list'ą.

 

Kaip visada docs.djangoproject.com turi puikų pavyzdį ir išsamią dokumentaciją: https://docs.djangoproject.com/en/1.4/topics/pagination/

 

Kaip vyksta aprašyta https://code.djangoproject.com/browser/django/trunk/django/core/paginator.py

Kuo anksčiau išmoksi pats skaityti kodą, tuo bus geriau.

 

Didelis AČIŪ!

Nuoroda į pranešimą
Dalintis kituose puslapiuose

EDIT: Jei labiau mėgsti vaizdinę medžiagą: http://godjango.com/12-pagination/

 

Kaip realizuoti puslapiavimą

 

# Sukuriamas puslapiavimo objektas.
pages = Paginator(model.objects.all(), models_in_page)
# Paimami tam tikro puslapio modeliai
puslapis = pages.page(tavo_puslapio_numeris)
# Juos naudoji kaip bet kokį kitą iteratorių.

Paginator.page gražina Page objektą, kuris aprašo metodus iteracijai atlikti. Tai reiškia kad per tą objektą gali be problemų naudoti lygiai tuo pačiu būdu kaip ir list'ą.

Taip pat į Paginator konstruktorių nebūtina paduoti būtent modelius. Galima duoti bet kokį iteratorių. Kad ir list'ą.

 

Kaip visada docs.djangoproject.com turi puikų pavyzdį ir išsamią dokumentaciją: https://docs.djangoproject.com/en/1.4/topics/pagination/

 

Kaip vyksta aprašyta https://code.djangoproject.com/browser/django/trunk/django/core/paginator.py

Kuo anksčiau išmoksi pats skaityti kodą, tuo bus geriau.

 

Turiu dar vieną klausimą:

 

į domenų bazę esu įdėjęs du boolean laukelius ir nustačiau, kad default būtų false.

Padariau du radio laukelius. Ir noriu, kad vieną iš jų paspaudus reikšmė pasikeistų į true. Tačiau nelabai išeina tai realizuoti. Gal turi idėjų?

Prisegu kodą:

<h2>Registration type:</h2>

<form action="/registration/register/" method="post">
{% csrf_token %}
<input type="radio" name="choice" value="{{ registrationChoise.company }}"/>
<label>Company</label><br />
<input type="radio" name="choice" value="{{ registrationChoise.person }}"/>
<label>Person</label><br />
<input type="submit" value="GO" />
</form>

 

class registrationChoise(models.Model):
company = models.BooleanField(default = False)
person = models.BooleanField(default = False)

 

{% if registrationChoise %}
<p>test</p>
{% else %}	
<p>neveikia</p>
{% endif %}	

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai aišku, ką čia bandai padaryti. Pavyzdžiui

       <input type="radio" name="choice" value="{{ registrationChoise.company }}"/>

Ką turėtų grąžinti registrationChoise.company? Pagal mane, tai modelio laukelį. Kitame template kode irgi nelabai suprantu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai aišku, ką čia bandai padaryti. Pavyzdžiui

       <input type="radio" name="choice" value="{{ registrationChoise.company }}"/>

Ką turėtų grąžinti registrationChoise.company? Pagal mane, tai modelio laukelį. Kitame template kode irgi nelabai suprantu.

Hmm taip ir yra, gražina laukelį(false). Aš noriu padaryti, kad pažymėjus radio mygtuką ta reikšmė būtų true.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Man tai čia labiausiai trūksta view'o kodo - gal galėtum jį pateikti?

# Create your views here.
from django.shortcuts import render_to_response
from registration.models import company, person
from django.http import HttpResponse
from django.template import RequestContext

def index(request):
return render_to_response('registration/index.html', RequestContext(request))

def register(request):
return render_to_response('registration/register.html','')	

Nuoroda į pranešimą
Dalintis kituose puslapiuose

# Create your views here.
from django.shortcuts import render_to_response
from registration.models import company, person
from django.http import HttpResponse
from django.template import RequestContext

def index(request):
return render_to_response('registration/index.html', RequestContext(request))

def register(request):
return render_to_response('registration/register.html','')	

Niekur nepaduodi į templeitą to modelio - templeitai automatiškai jų neieškos :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Importinau jį į views, bet vis tiek neveikia. Ar kitaip reikia paduoti modelį?

Reikia paduoti žodyną į RequestContext. Turbūt dokumentacijos nebaigei skaityti. Tiesa, klausimas, ar tau nereikia būtent vienos modelio instancijos, o ne viso modelio. Pvz., jei vartotojas dar tik registruojasi, iš kur turėtų būti tas modelis su savo laukeliais?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...