meshkis
-
Pranešimai
55 -
Užsiregistravo
-
Lankėsi
-
Atsiliepimai
0%
Turinio tipas
Forumas
Kalendorius
Parduotuvė
Akademija
Skelbimai
meshkis Pranešimai
-
-
Rekomenduočiau paskaityti šią temą, jei neskaitei.
-
Normali ta firma pirkanglijoj. Nenoriu, kad pagalvotumėte, kad aš ją kišu ar reklamuoju, bet, kaip jau ankščiau rašiau, per du metus nebuvo kažkokių nesamonių. O pirkta Anglijoj buvo iš daug parduotuvių. Ir netgi, kai buvo pirkta per Ebay ir reikėjo nuvažiuoti pas pardavėja i namus ir paimti preke, susitarem ir viska padarė puikiai. Tokia mano patirtis dirbant su jais.
P.S.: Patarimas, jei siunčiamas dūžtantis daiktas, tai geriau iškart perspėti vežėjus.
-
-
Sveiki,
Vėl aš stringu su tuo Django ORM.
class Skyriai(models.Model): pavadinimas = models.CharField(max_length=64) pozicija = models.SmallIntegerField() def __unicode__(self): return u'%s %s' % (self.pavadinimas)
class Tekstai(models.Model): skyrius = models.ForeignKey(Skyriai) tekstas = WYSIWYGField(verbose_name='Aprašymas') data = models.DateField() def __unicode__(self): return u'%s %s %s' % (self.skyrius, self.tekstas, self.data)
Taigi turiu tokius modelius. Man reikia elementarios užklausos, kuri išrinktų skyrius su visais jam priklausančiais tekstais.
Apie šitą būdą žinau:
b = Blog.objects.get(id=1) b.entry_set.all()
Bet man reikia, kad viskas būtų vienoje užklausoje. T.y. man reikia, kad kažkur toliau programoje, aš galėčiau HTML`e, cikle iš masyvo ištraukinėti skyrius po vieną su visais jam priklausančiais tekstais. Su SQL aš tai lengvai padarau, bet norėtųsi naudoti Django galimybes.
-
Sveikas,
Padėkosiu ir aš už įdomią temą ir noriu užduoti keletą klausimų.
Kad būtu aiškesni mano klausimai, pristatysiu savo projektą. Pagrindinis puslapis www.esmigracija.ru. Man reikia iškelti du vidinius puslapius (darau tai pirmą kartą):
1. http://www.esmigracija.ru/vnz/vid_na_zitelstvo_v_litve/ su keywordais (вид на жительство в литве, внж в литве, литва внж, литва вид на жительство, получение вида на жительство в литве )
2. http://www.esmigracija.ru/vnz/registracija_firm_v_litve/ su keywordais (бизнес в литве, фирма в литве, регистрация фирм в литве, регистрация фирмы в литве, открыть фирму в литве, зао в литве)
Mane sudomino keli atsakymai, kuriuose buvo paminėta, kaip turėtų būti formuojami backlinkai straipsniuose. T. y., keywordas turėtų būti paminėtas puslapio title, aplink nuorodas, pirmoje ar antroje pastraipoje. Taigi, kyla klausimas, koks tada turėtų būti anchor text, nes, kaip suprantu, šiuo atveju branded keyword(www.esmigracija.ru) netinka?
Dar sudomino pasakymas: „backlink'ai su branded anchor text (kosmetikatau) turėtų sudaryti didžiąją dalį viso portfelio. „
Klausimas - kaip turėtų atrodyti portfelio dalys mano atveju?
Įdėsiu pora pavyzdžių, kaip atrodo mano užsakyti straipsniai su talpinimu:
http://vinprom.uz/chem-mozhet-pomoch-vam-kompanija-esmigracija.html
http://www.danube-river.info/?p=5805
http://evraziya.com/evrazia/484-preimuschestvo-v-poluchenii-vida-na-jitelstva-v-litve.htm
Įdomu būtų sužinoti nuomonę, ar padaryta tinkamai.
Būsiu dėkingas už racionalią kritiką ir pastabas.
-
Windows shellas (cmd ar powershell – nežinau, kuris smagesnis). "python manage.py runserver". Aišku, reikia susitvarkyti PATH, gerai būtų turėti virtualenv ir t.t. :)
Dėkui už atsakymą.
Šį klausimą išsprendžiau suinstaliavęs Sublime Text 2 pluginą Terminal. Jį išsikvietęs paleidau serverį su komanda "python manage.py runserver 8000". Bet tai nėra patogiausias būdas.
Iškilo klausimas, ar yra galimybė tai padaryti patogiau ir ar iš vis Sublime Text 2 yra naudojamas darbui su Django projektais?
-
Dabar naudoju PyCharm. Ten paleidimas labai paprastas, spaudi žalią trikamį, ir pasileidžia projekto serveris :) . O iš čia kaip paleisti serverį?
-
Sveiki
Susidomėjau tekstiniu redaktoriumi Sublime Text 2. Norisi pamėginti su juo padirbėti, išbandyti. Bet niekaip neišeina paleisti Django projekto. Gal yra naudojančių ši redaktorių Django projektams ir paaiškins, kaip paleisti man savo projektą.
-
Dar pridėčiau, kad emailas [email protected] rimtumo irgi neprideda.
-
mmmm, kvepia tikru lietuviu.
vat cia anksciau buvo daug http://3dev.lt/tv#all, bet kazkas dabar su youtube...
Ten tikrai buvo geras resursas, bet kažkodėl viską panaikino ir pradėjo iš naujo kurti. Dabartinis adresas http://www.youtube.com/user/3DevOfficial. Bet nebėra gerų pamokų apie HTML, CSS, ir jQuery.
-
Galiu pasidalinti savo patirtimi(pradėjau kažkur prieš pusantrų metų):
Pirmiausia rekomenduočiau gerai susipažinti su HTML. Porą resursų galiu parekomenduoti ( http://htmlbook.ru/samhtml , http://www.w3schools.com/html/html5_intro.asp )
Tada mokindamasis HTML prigriebi ir CSS ( http://www.w3schools.com/css/default.asp , http://htmlbook.ru/samcss ).
Nu ir po to, kai jau HTML ir CSS kažkiek įvaldysi, pradėk domėtis jQuery ( http://learn.javascript.ru/ arba knyga Дэвид Флэнаган - Javascript. Подробное руководство, jei neskaitai rusiškai tai susirask en variantą http://www.amazon.com/jQuery-Action-Second-Bear-Bibeault/dp/1935182323 ).
Dar vienas resursas http://uzdarbis.lt/t207186/python-programavimas/page__p__1879589__fromsearch__1#entry1879589. Gal nuspręsi programuoti Python/Django (bent jau man, tai įdomiau nei su Php).
Visa tai išmokęs ir supratęs turėsi daugiau naudos, nei vartodamas Wordpress.
p.s. Šitą knygą galiu pasidalinti, jei prireiks (Дэвид Флэнаган - Javascript. Подробное руководство)
p.s.2 LT resursas http://kodai.manualai.lt/
-
Jau metai, kai naudojuosi http://www.webfaction.com/ paslaugomis. Viskas labai paprastai susitvarkoma. Palaiko daug įvairių platformų. Jei iškyla, klausimų tai greitai viskas paaiškinama.
-
-
Jei tavo IV yra ne PVM mokėtojas, tai prekes gausi jau su pridėtu LV PVM. LT PVM tau jau nereikės mokėti.
p.s. dėl kainos su latviais reikėtū pasitikslinti, nes jei ten didmenininkai, tai jie dažniausiai kainas nurodo be PVM (dažniausiai jų klientai yra PVM mokėtojai).
-
Jau metus laiko bendradarbiauju su pirkanglijoje.lt. Esu patenkintas jų paslaugomis, sumos būdavo iki poros tūkstančių, pirkta ir Amazon, ir Ebay ir dar daug kur. Pas juos puslapyje yra aiškiai paaiškinta, kaip viską reikia užpildyti. Pristato per pora savaičių. Šiaip kiek teko susidurti gana rimta kontora.
-
O jei
ivedimas_data['prekes_brandas'].id
Ką tada gauni? :)
Viskas veikia :)
O aš čia jau pradėjau viską perdarinėti. Buvo kilusi mintis surišti tuos modelius su ForeignKey ir panaudoti ModelForm modeliui Prekes.
Pasireiškė patirties trūkumas. Dėkui
-
Sveiki,
models.py:
class Brandai(models.Model): brando_pav = models.CharField(max_length=64) def __unicode__(self): return u'%s' % (self.brando_pav) class Prekes(models.Model): brandas = models.IntegerField(max_length=3) pavadinimas = models.CharField(max_length=164) sablonas = models.IntegerField(max_length=3) class Sablonai(models.Model): sablono_pav = models.CharField(max_length=64) def __unicode__(self): return u'%s' % (self.sablono_pav)
forms.py:
class Nauja_preke(forms.Form): prekes_brandas = forms.ModelChoiceField(queryset=Brandai.objects.all().order_by('brando_pav'), widget=forms.Select(attrs={'class':'selector'})) prekes_sablonas = forms.ModelChoiceField(queryset=Sablonai.objects.all().order_by('sablono_pav'), widget=forms.Select(attrs={'class':'selector'})) prekes_pavadinimas = fields.CharField(max_length=164)
html:
{% block content %} <form method="POST" action="/preke_new/">{% csrf_token %} <table> {{ preke }} </table> <p> <input type="submit" value="Submit" /> </p> </form> {% endblock %}
views.py:
def preke_new(request): if request.method == 'POST': nauja_preke = Nauja_preke(request.POST) if nauja_preke.is_valid(): ivedimas_data = nauja_preke.cleaned_data a = Prekes(pavadinimas=ivedimas_data['prekes_pavadinimas'], brandas=ivedimas_data['prekes_brandas'], sablonas=ivedimas_data['prekes_sablonas']) a.save() return render_to_response('rezultatas.html', {'ivedimas_data': ivedimas_data}, context_instance=RequestContext(request)) return render_to_response('preke_new.html', {'preke': Nauja_preke()}, context_instance=RequestContext(request))
Niekaip nerandu būdo, kaip iš ModelChoiceField gauti brando ir šablono 'id'. Peržiūrėjęs iš 'POST' ateinančius kintamuosius, aš matau, kad kintamieji 'prekes_brandas' ir 'prekes_sablonas' turi tuos 'id', bet kai bandau juos įrašyti, jie kažkodėl pavirsta pavadinimais. Pridedu gaunamą rezultatą:
{'prekes_brandas': <Brandai: Chicco>, 'prekes_sablonas': <Sablonai: testinis>, 'prekes_pavadinimas': u'prekes pavadinimas'}
-
Na taip, su supratimu, sudėtinga. O jeigu panaudoti tokį būdą:
Įrašius šablono pavadinimą į lentelę, iš karto daryti paiešką to šablono, ir tada sužinosiu jo id lentelėje. O tuomet jau galėsiu jį pridėti įrašinėdamas savybes? Ar toks būdas racionalus?
Į šitą klausimą pačiam pavyko rasti atsakymą. Pasirodo, metodas save() po įvykdymo gauna atributą 'id', kuris ir yra unikalus įrašo numeris.
-
Na taip, su supratimu, sudėtinga. O jeigu panaudoti tokį būdą:
Įrašius šablono pavadinimą į lentelę, iš karto daryti paiešką to šablono, ir tada sužinosiu jo id lentelėje. O tuomet jau galėsiu jį pridėti įrašinėdamas savybes? Ar toks būdas racionalus?
if sablonas_formset.is_valid() and savybes_formset.is_valid(): sablonas_data = sablonas_formset.cleaned_data a = Sablonai(pavadinimas=sablonas_data[0]['sablono_pavadinimas']) a.save() sablono_id = darau paieška pagal 'sablono_pavadinimas' savybes_data = savybes_formset.cleaned_data for form_data in savybes_data: a = Sablono_savybes(savybes_pav=form_data['sablono_savybe'], sablonas = sablono_id ? ) a.save()
-
Formsetus irgi įmanoma dinamiškai pridedinėti su JS. http://stackoverflow.com/questions/501719/dynamically-adding-a-form-to-a-django-formset-with-ajax
Nelabai net įsivaizduoju, ką reikėtų sugalvoti – POST yra paprasčiausias žodynas (dictionary), per kurį iteruoji, ieškodamas sau reikiamų argumentų ir kiekvienam kuri po naują įrašą. :)
Beje, tavo view'e du tokie patys return, tą iš if gali šalinti – vis tiek bet kokiu atveju įsivykdys už jo einantis.
Apie formsetus nieko nežinojau iki šiol. Dėkui už nuorodą, ji labai padėjo. Pavyko viską pasidaryti pasinaudojus šiuo instrumentu: http://code.google.com/p/django-dynamic-formset/.
Dar iškilo klausimas. Kaip sužinoti, kokį unikalų id lentelėje Sablonai gaus įrašas, kad paskui aš jį galėčiau panaudoti įrašant savybes?
def sablonai(request): if request.method == 'POST': sablonas_formset, savybes_formset = SablonasFormset(request.POST, prefix='sablonas_formset'), SavybesFormset(request.POST, prefix='savybes_formset') if sablonas_formset.is_valid() and savybes_formset.is_valid(): sablonas_data = sablonas_formset.cleaned_data a = Sablonai(pavadinimas=sablonas_data[0]['sablono_pavadinimas']) a.save() savybes_data = savybes_formset.cleaned_data for form_data in savybes_data: a = Sablono_savybes(savybes_pav=form_data['sablono_savybe'], sablonas = id? ) a.save() return render_to_response('rezultatas.html', {'sablonas_data': sablonas_data, 'savybes_data': savybes_data}, context_instance=RequestContext(request)) else: sablonas_formset, savybes_formset = SablonasFormset(prefix='sablonas_formset'), SavybesFormset(prefix='savybes_formset') return render_to_response('sablonai.html', {'sablonas_formset': sablonas_formset, 'savybes_formset': savybes_formset}, context_instance=RequestContext(request))
Models.py
class Sablonai(models.Model): pavadinimas = models.CharField(max_length=64) class Sablono_savybes(models.Model): sablonas = models.IntegerField(max_length=3) savybes_pav = models.CharField(max_length=32)
-
Tiesa pasakius, tau patogiau butu naudoti pirma mano pateikta buda ir django admin interface.:)
Dėkui už patarimą, bet django admin interface nenoriu naudoti dėl to, kad mano tikslas yra išmokti Python/Django. O padaręs savo adminą aš įgausiu patirties, nors gal ir prireiks daug prakaito išlieti. Sunku pratybose, lengva mūšyje. :)
Dar noriu paklausti:
Čia matau patarimus naudoti Django ORM ir ryšius tarp lentelių: ManyToManyField, ForeignKey.
Iki šiol aš naudojau tik tiesiogines SQL užklausas ir šitų ryšių nenaudojau. Bet dabar atsiranda problemų su duomenų trynimu, pildymu. Pavyko išsiaiškinti, kad tai dėl MySQL varikliuko InnoDB. Tai supratau, kad man reikia arba keisti MySQL varikliuką, arba pereiti prie Django ORM. Kuris sprendimas geresnis?
-
Dėkui už patarimus. Rusų forumuose aš radau kitokį sprendimo būdą ir pritaikiau jį sau. Įdomu būtų sužinoti daugiau išmanančių žmonių nuomonę, kas čia labiau tinka:
function addInput2() { var id = document.getElementById("default-id").value; id++; $("#add_tb").append('<tr id="tr-' + id + '"><td><input type="text" name="savybe' + id + '" id="id_savybe' + id + '" size="30"><a href="javascript:{}" onclick="removeInput2(\'' + id + '\')">Pašalinti</a></td></tr>'); document.getElementById("default-id").value = id; } function removeInput2(id) { $("#tr-"+id).remove();
<div id="content"> <div id="text"> <h3> Šablono pavadinimas </h3> <form name="testform" action="/sablonai/" method="POST">{% csrf_token %} <table id="add_tb"> <tr> <td> <input id="sablonas" type="text" size="30" value="" name="sablonas"/> </td> </tr> <tr> <td> <h4>Savybės:</h4> <input type="hidden" id="default-id" value="1"> </td> </tr> <tr id="tr-1"> <td> <input type="text" name="savybe1" id="id_savybe1" size="30"> </td> </tr> </table> <a href="javascript:{}" onclick="addInput2()">Dadėti savybių lauką</a><br> <input type="submit" value="Patvirtinti"> </form> </div> </div>
def sablonai(request): if request.method == 'POST': form = request.POST a = Sablonai(pavadinimas=form['sablonas']) a.save() return render_to_response('rezultatas.html', {'form': form}, context_instance=RequestContext(request)) return render_to_response('sablonai.html', {'form': form}, context_instance=RequestContext(request))
http://romka.eu/blog/dinamicheskoe-dobavlenie-elementov-k-forme
p.s. Dar nesugalvojau, kaip išrankioti visus inputus iš POST ir juos surašyti į savybių DB.
-
Sveiki,
turiu tokią užduotį: yra daug daiktų ir kiekvienas iš jų turi savo savybių sąrašą. Reikia sukurti tokią dinaminę įvedimo formą, kurioje turėtų būti galimybė įvesti daikto pavadinimą ir visas jo savybes. Problema man iškilo tame, kad skiriasi kiekvieno daikto savybių sarašo ilgis ir forma negali būti stacionari. Taigi, ji turi turėti galimybę pridėti tiek input laukų, kiek reikia, bei paskui visa tai išsaugoti DB. Bandžiau nagrinėti klasę Form, bet nepavyksta rasti atsakymo. Gal čia kas nors padės surasti kelią. Iš anksto dėkui.
-
Norėjau parekomenduoti dar vieną resursą Django mokymuisi, kuris man labai padėjo. Tiems, kuriems techninė literatūra geriau skaitosi rusų kalboj nei anglų:
Ir dar, interneto platybėse yra dvi knygos :
Марк Лутц Изучаем Python, 3-е издание Ji ne apie Django, bet nežinant bent jau pagrindų, sunku mokytis Django. Iš savo dar nedidelės patirties galiu pasakyti, kad kol neperskaičiau šitos knygos, tai nelabai suprasdavau, kas tame Djange vyksta, ir dabar ji pastoviai atversta. Šitos knygos yra ir naujesnis leidimas, bet jame rašoma jau apie Python 3, kurio Django nepalaiko kol kas.
Django Подробное руководство yra tas pats turinys kaip ir aukščiau nurodyto linko, tik kad sudėta į knygą.
Čia literatūra tiems, kas galbūt nelabai moka angliškai.
Šias knygas turiu elektroniniame variante ir, jei kam prireiks, rašykit - pasidalinsiu.
Django url
Programuotojų kampas
Sukurta
Sveiki, reikia pagalbos
HTML`e yra meniu. Kiekvienas meniu punktas turi savo `id`. Paspaudus ant meniu punkto, `id` perduodamas į `views.py` ir ten apdorojamas.
Klausimas tame, kad taip perduodant 'id' jis matosi ir adreso eilutėje. Gaunasi: 'domenas/vnz/1/'. O man reikia, kad gautųsi: 'domenas/vnz/grazus_pavadinimas/'.
Išanksto dėku.