I fought with formsets for a week when I started. Glad I could pay it
forward a bit.
On Mar 30, 2015 10:46 PM, "Stephanie Socias" <[email protected]> wrote:

> Aaaaah finally!
> I had jquery.formset.js in my base.html header. I moved it to my     {%
> block footer_js %}  and it worked!! Not sure why that's the
> case....anyways, now on to the next issue ([u'ManagementForm data is
> missing or has been tampered with']) but I think I can hopefully fix that
> one!
>
> Thank you SOOOOOOO much!!
>
> On Mon, Mar 30, 2015 at 10:29 PM, Lachlan Musicman <[email protected]>
> wrote:
>
>> Just checking you have
>>
>> {% load staticfiles %} in your templates - you will need in both iirc?
>> ------
>>  It is through this shadowy emptiness (of negative space) that we
>> walk, talk, see, and live; negative space is the impossible cellophane
>> layer that drapes the known world and is invisible to all but to the
>> most perceptive minds.
>>
>> It is possible to learn to see negative space though, in both the
>> visual and imagined worlds. The first step is developing the ability
>> to see, and the second is learning — as romantic poet John Keats put
>> it — to be “capable of being in uncertainties, mysteries, doubts,
>> without any irritable reaching after fact & reason.”
>> ----
>> Seeking Genius in Negative Space, Chris Messina
>>
>> https://medium.com/genius-week/seeking-genius-in-negative-space-4e7c755f641f
>>
>>
>> On 31 March 2015 at 13:19, Bill Blanchard <[email protected]>
>> wrote:
>> > Sounds like a stupid question, but are you 100% sure that this is
>> resolving
>> > correctly?
>> >
>> > <script src="{{ STATIC_URL }}js/jquery.formset.js"
>> > type="text/javascript"></script>
>> >
>> > You can check by monitoring the network tab when you go to inspect
>> element
>> > in a chrome browser (or whatever the firefox equivalent is). When you
>> > refresh the page, it will tell you if that file is found or not.
>> >
>> > If it's found, then I might be stumped, or it might be some kind of
>> import
>> > issue with the base jquery file or a conflict.
>> >
>> > If it's not found, you'll have to troubleshoot the issue related to
>> pointing
>> > to the correct source location.
>> >
>> > Bill
>> >
>> >
>> >
>> > On Mon, Mar 30, 2015 at 9:54 PM, Stephanie Socias <
>> [email protected]>
>> > wrote:
>> >>
>> >> Sorry to ask here again but I still can't get the imports right for
>> some
>> >> reason. I get the error:
>> >>
>> >> TypeError: $(...).formset is not a function
>> >>
>> >> $('.authorFormset').formset({
>> >>
>> >>
>> >>
>> >> I have this in the head of my base.html:
>> >>
>> >>     <script
>> >> src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
>> "></script>
>> >>     <script src="{{ STATIC_URL }}js/jquery.formset.js"
>> >> type="text/javascript"></script>
>> >>
>> >>
>> >>
>> >> And then my homepage.html:
>> >>
>> >> {% load crispy_forms_tags %}
>> >>
>> >> <script type="text/javascript">
>> >>     $(function() {
>> >>         $('.authorFormset').formset({
>> >>             prefix: '{{ formset.prefix }}',
>> >>             addText: 'Add Author',
>> >>             deleteText: 'Remove Author',
>> >>         })
>> >>     })
>> >> </script>
>> >>
>> >> <form action="{% url 'data:register' %}" method="post"
>> >> enctype="multipart/form-data">
>> >>
>> >>
>> >>   <div class="container">
>> >>     <div class="row" style="margin-top: 30px">
>> >>       <div class="col-md-10 col-md-offset-1">
>> >>         {{ dataset_form.media }}
>> >>         {% crispy dataset_form %}
>> >>         {% crispy facility_form %}
>> >>         {% crispy contact_form %}
>> >>
>> >>         <div class="authorFormset">
>> >>         {% for form in formset.forms %}
>> >>             <div class="formset">
>> >>                 <div id="{{ form.prefix }}-row">
>> >>                     <div class="col-md-2">
>> >>                         <div class="row">
>> >>                             {{ form.first_name }}
>> >>                         </div>
>> >>                         <div class="row">
>> >>                             {{ form.last_name }}
>> >>                         </div>
>> >>                     </div>
>> >>                     <div class="col-md-4 col-md-offset-1">
>> >>                         <div class="row">
>> >>                             {{ form.email }}
>> >>                         </div>
>> >>                         <div class="row">
>> >>                             {{ form.role }}
>> >>                         </div>
>> >>                     </div>
>> >>                 </div>
>> >>             </div>
>> >>         {% endfor %}
>> >>         {{ formset.management_form }}
>> >>         <br><br>
>> >>     </div>
>> >>
>> >>       </div>
>> >>     </div>
>> >>   </div>
>> >>
>> >>   <div class="container">
>> >>     <div class="row">
>> >>       <div class="col-md-10 col-md-offset-1">
>> >>         <a role="button" class="btn btn-lg btn-default" href="{% url
>> >> 'data:data_home' %}">Cancel</a>
>> >>         <input type="submit" class="btn btn-lg btn-success pull-right"
>> >> value="Proceed to Data Upload">
>> >>       </div>
>> >>     </div>
>> >>   </div>
>> >> </form>
>> >>
>> >>
>> >>
>> >> On Mon, Mar 30, 2015 at 8:38 PM, Bill Blanchard <
>> [email protected]>
>> >> wrote:
>> >>>
>> >>> You could have an import error somewhere/somehow with the
>> >>> jquery.formset.js file.  Also, you might need to import the jquery
>> library
>> >>> in your application (I import mine in my base template, so that might
>> be why
>> >>> I forgot about it).
>> >>>
>> >>> On Mon, Mar 30, 2015 at 8:33 PM, Stephanie Socias <
>> [email protected]>
>> >>> wrote:
>> >>>>
>> >>>> Thank you, Bill! I'm getting a TypeError that $(...).formset is not a
>> >>>> function
>> >>>> I'll see what's up!
>> >>>>
>> >>>> On Mon, Mar 30, 2015 at 8:29 PM, Bill Blanchard
>> >>>> <[email protected]> wrote:
>> >>>>>
>> >>>>> Hi Stephanie,
>> >>>>> You have two jQuery selectors in your formset function and I'm not
>> sure
>> >>>>> if that will cause an issue or not.  Also, I don't think you need
>> to use an
>> >>>>> id in the div tag (that was probably left over from when I was
>> bashing my
>> >>>>> head against this).  Try naming the outer div class something not
>> "formset"
>> >>>>> since you'll get two selections based on the classes you're using.
>> Try
>> >>>>> this:
>> >>>>> ...
>> >>>>> $(function() {
>> >>>>>         $('.authorFormset').formset({
>> >>>>> ....
>> >>>>> <div class="authorFormset">
>> >>>>>         {% for form in formset.forms %}
>> >>>>>             <div class="formset">
>> >>>>>                 <div id="{{ form.prefix }}-row">
>> >>>>>                     <div class="col-md-2">
>> >>>>> ...
>> >>>>>
>> >>>>> Also, try looking at the javascript console in your browser to see
>> if
>> >>>>> you get any error messages.  Hope this helps!
>> >>>>>
>> >>>>> Bill
>> >>>>>
>> >>>>> On Mon, Mar 30, 2015 at 8:19 PM, Stephanie Socias
>> >>>>> <[email protected]> wrote:
>> >>>>>>
>> >>>>>> Thank you, Bill. That was silly of me. I'm just confused on
>> where/how
>> >>>>>> those actual links are displayed. I can't get them to show...
>> >>>>>>
>> >>>>>>
>> >>>>>> {% load crispy_forms_tags %}
>> >>>>>> <script src="{{ STATIC_URL }}js/addAuthor.js"
>> >>>>>> type="text/javascript"></script>
>> >>>>>> <script src="{{ STATIC_URL }}js/jquery.formset.js"></script>
>> >>>>>> <script type="text/javascript">
>> >>>>>>     $(function() {
>> >>>>>>         $('#authorFormset .formset').formset({
>> >>>>>>             prefix: '{{ formset.prefix }}',
>> >>>>>>             addText: 'Add Author',
>> >>>>>>             deleteText: 'Remove Author',
>> >>>>>>         })
>> >>>>>>     })
>> >>>>>> </script>
>> >>>>>>
>> >>>>>> <form action="{% url 'data:register' %}" method="post"
>> >>>>>> enctype="multipart/form-data">
>> >>>>>>
>> >>>>>>
>> >>>>>>   <div class="container">
>> >>>>>>     <div class="row" style="margin-top: 30px">
>> >>>>>>       <div class="col-md-10 col-md-offset-1">
>> >>>>>>         {{ dataset_form.media }}
>> >>>>>>         {% crispy dataset_form %}
>> >>>>>>         {% crispy facility_form %}
>> >>>>>>         {% crispy contact_form %}
>> >>>>>>
>> >>>>>>         <div id="authorFormset" class="formset">
>> >>>>>>         {% for form in formset.forms %}
>> >>>>>>             <div class="formset">
>> >>>>>>                 <div id="{{ form.prefix }}-row">
>> >>>>>>                     <div class="col-md-2">
>> >>>>>>                         <div class="row">
>> >>>>>>                             {{ form.first_name }}
>> >>>>>>                         </div>
>> >>>>>>                         <div class="row">
>> >>>>>>                             {{ form.last_name }}
>> >>>>>>                         </div>
>> >>>>>>                     </div>
>> >>>>>>                     <div class="col-md-4 col-md-offset-1">
>> >>>>>>                         <div class="row">
>> >>>>>>                             {{ form.email }}
>> >>>>>>                         </div>
>> >>>>>>                         <div class="row">
>> >>>>>>                             {{ form.role }}
>> >>>>>>                         </div>
>> >>>>>>                     </div>
>> >>>>>>                 </div>
>> >>>>>>             </div>
>> >>>>>>         {% endfor %}
>> >>>>>>         {{ formset.management_form }}
>> >>>>>>         <br><br>
>> >>>>>>     </div>
>> >>>>>>
>> >>>>>>       </div>
>> >>>>>>     </div>
>> >>>>>>   </div>
>> >>>>>>
>> >>>>>>   <div class="container">
>> >>>>>>     <div class="row">
>> >>>>>>       <div class="col-md-10 col-md-offset-1">
>> >>>>>>         <a role="button" class="btn btn-lg btn-default" href="{%
>> url
>> >>>>>> 'data:data_home' %}">Cancel</a>
>> >>>>>>         <input type="submit" class="btn btn-lg btn-success
>> pull-right"
>> >>>>>> value="Proceed to Data Upload">
>> >>>>>>       </div>
>> >>>>>>     </div>
>> >>>>>>   </div>
>> >>>>>> </form>
>> >>>>>>
>> >>>>>> On Mon, Mar 30, 2015 at 6:31 PM, Bill Blanchard
>> >>>>>> <[email protected]> wrote:
>> >>>>>>>
>> >>>>>>> Hi Stephanie,
>> >>>>>>> The addText and deleteText variables are the hyperlink text that
>> is
>> >>>>>>> displayed on the page.
>> >>>>>>>
>> >>>>>>> You can remove them or modify accordingly. I believe the default
>> >>>>>>> values are Add Form and Remove Form if you do not explicitly
>> declare them in
>> >>>>>>> the javascript function.
>> >>>>>>>
>> >>>>>>> On Mar 30, 2015 6:03 PM, "Stephanie Socias" <
>> [email protected]>
>> >>>>>>> wrote:
>> >>>>>>>>
>> >>>>>>>> Thank you all SO much for your advice. Even just hearing that
>> this
>> >>>>>>>> is a complicated problem and that it's not just me, really helps.
>> >>>>>>>>
>> >>>>>>>> I will post my code shortly. I'm now trying to incorporate some
>> of
>> >>>>>>>> your feedback.
>> >>>>>>>>
>> >>>>>>>> Bill,
>> >>>>>>>> How do I set/use the 'addText' and 'deleteText' variables from
>> the
>> >>>>>>>> script in the template? That is probably a really dumb question
>> but I have
>> >>>>>>>> just about zero experience with javascript/jquery.
>> >>>>>>>>
>> >>>>>>>> Thank you!
>> >>>>>>>> Stephanie
>> >>>>>>>>
>> >>>>>>>> On Mon, Mar 30, 2015 at 5:18 PM, Carl Meyer <[email protected]>
>> >>>>>>>> wrote:
>> >>>>>>>>>
>> >>>>>>>>> Hi Stephanie,
>> >>>>>>>>>
>> >>>>>>>>> On 03/30/2015 02:37 PM, Stephanie Socias wrote:
>> >>>>>>>>> > I'm having trouble creating a formset where I can dynamically
>> add
>> >>>>>>>>> > and
>> >>>>>>>>> > delete items. I've tried many different approaches and can't
>> get
>> >>>>>>>>> > anything to work. I'm new to Django and have been at this for
>> >>>>>>>>> > days. Can
>> >>>>>>>>> > someone please help me!? I can send my code, post it, or do a
>> >>>>>>>>> > screen
>> >>>>>>>>> > share. Please let me know!! Any help would be greatly
>> >>>>>>>>> > appreciated.
>> >>>>>>>>>
>> >>>>>>>>> I'm afraid I don't have time in my day for a screen-share, but
>> I'd
>> >>>>>>>>> be
>> >>>>>>>>> happy to try to help, if you can link to a gist or paste showing
>> >>>>>>>>> your
>> >>>>>>>>> current best effort, and explaining how it is not working.
>> >>>>>>>>>
>> >>>>>>>>> FWIW, I've usually used this library for the JavaScript side of
>> >>>>>>>>> things:
>> >>>>>>>>> https://github.com/jgerigmeyer/jquery-django-superformset
>> >>>>>>>>>
>> >>>>>>>>> If you'd find real-time assistance more helpful, you could visit
>> >>>>>>>>> the
>> >>>>>>>>> #django channel on FreeNode IRC; I and others are available to
>> help
>> >>>>>>>>> out
>> >>>>>>>>> there.
>> >>>>>>>>>
>> >>>>>>>>> This is a challenging task you've tackled, even for experienced
>> >>>>>>>>> Django
>> >>>>>>>>> developers, so it's not surprising that it's taking some time if
>> >>>>>>>>> you're
>> >>>>>>>>> new to Django.
>> >>>>>>>>>
>> >>>>>>>>> Carl
>> >>>>>>>>>
>> >>>>>>>>> --
>> >>>>>>>>> You received this message because you are subscribed to a topic
>> in
>> >>>>>>>>> the Google Groups "Django users" group.
>> >>>>>>>>> To unsubscribe from this topic, visit
>> >>>>>>>>>
>> https://groups.google.com/d/topic/django-users/3UR_6HtcnY0/unsubscribe.
>> >>>>>>>>> To unsubscribe from this group and all its topics, send an
>> email to
>> >>>>>>>>> [email protected].
>> >>>>>>>>> To post to this group, send email to
>> [email protected].
>> >>>>>>>>> Visit this group at http://groups.google.com/group/django-users
>> .
>> >>>>>>>>> To view this discussion on the web visit
>> >>>>>>>>>
>> https://groups.google.com/d/msgid/django-users/5519BD9B.9080105%40oddbird.net
>> .
>> >>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> --
>> >>>>>>>> You received this message because you are subscribed to the
>> Google
>> >>>>>>>> Groups "Django users" group.
>> >>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>> >>>>>>>> send an email to [email protected].
>> >>>>>>>> To post to this group, send email to
>> [email protected].
>> >>>>>>>> Visit this group at http://groups.google.com/group/django-users.
>> >>>>>>>> To view this discussion on the web visit
>> >>>>>>>>
>> https://groups.google.com/d/msgid/django-users/CAOw%3DD6XQnVp%3Dd1EdvgEPxL_N5w%3D2eKm_4nXF9KHN_zAaH1bTew%40mail.gmail.com
>> .
>> >>>>>>>> For more options, visit https://groups.google.com/d/optout.
>> >>>>>>>
>> >>>>>>> --
>> >>>>>>> You received this message because you are subscribed to a topic in
>> >>>>>>> the Google Groups "Django users" group.
>> >>>>>>> To unsubscribe from this topic, visit
>> >>>>>>>
>> https://groups.google.com/d/topic/django-users/3UR_6HtcnY0/unsubscribe.
>> >>>>>>> To unsubscribe from this group and all its topics, send an email
>> to
>> >>>>>>> [email protected].
>> >>>>>>> To post to this group, send email to
>> [email protected].
>> >>>>>>> Visit this group at http://groups.google.com/group/django-users.
>> >>>>>>> To view this discussion on the web visit
>> >>>>>>>
>> https://groups.google.com/d/msgid/django-users/CAP7uEDLKxMwiU%2BtMBuZBcjPiEjGXR-JGhn2UOKtik0ibK2NRmw%40mail.gmail.com
>> .
>> >>>>>>>
>> >>>>>>> For more options, visit https://groups.google.com/d/optout.
>> >>>>>>
>> >>>>>>
>> >>>>>> --
>> >>>>>> You received this message because you are subscribed to the Google
>> >>>>>> Groups "Django users" group.
>> >>>>>> To unsubscribe from this group and stop receiving emails from it,
>> send
>> >>>>>> an email to [email protected].
>> >>>>>> To post to this group, send email to [email protected]
>> .
>> >>>>>> Visit this group at http://groups.google.com/group/django-users.
>> >>>>>> To view this discussion on the web visit
>> >>>>>>
>> https://groups.google.com/d/msgid/django-users/CAOw%3DD6V45R64%3D0o2W9miXJzy_xqBW5YLooTS7ef9DzNuPATxiQ%40mail.gmail.com
>> .
>> >>>>>>
>> >>>>>> For more options, visit https://groups.google.com/d/optout.
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> You received this message because you are subscribed to a topic in
>> the
>> >>>>> Google Groups "Django users" group.
>> >>>>> To unsubscribe from this topic, visit
>> >>>>>
>> https://groups.google.com/d/topic/django-users/3UR_6HtcnY0/unsubscribe.
>> >>>>> To unsubscribe from this group and all its topics, send an email to
>> >>>>> [email protected].
>> >>>>> To post to this group, send email to [email protected].
>> >>>>> Visit this group at http://groups.google.com/group/django-users.
>> >>>>> To view this discussion on the web visit
>> >>>>>
>> https://groups.google.com/d/msgid/django-users/CAP7uED%2BtE1_33r4rr1RNwgBVsBGzSO8fxeQ87RwBF%3D1schU_pA%40mail.gmail.com
>> .
>> >>>>>
>> >>>>> For more options, visit https://groups.google.com/d/optout.
>> >>>>
>> >>>>
>> >>>> --
>> >>>> You received this message because you are subscribed to the Google
>> >>>> Groups "Django users" group.
>> >>>> To unsubscribe from this group and stop receiving emails from it,
>> send
>> >>>> an email to [email protected].
>> >>>> To post to this group, send email to [email protected].
>> >>>> Visit this group at http://groups.google.com/group/django-users.
>> >>>> To view this discussion on the web visit
>> >>>>
>> https://groups.google.com/d/msgid/django-users/CAOw%3DD6Wm2hX5%2By-6OAZ9%2BhULP8G9Nmd2zO8rJvaaVor6ZnQZMA%40mail.gmail.com
>> .
>> >>>>
>> >>>> For more options, visit https://groups.google.com/d/optout.
>> >>>
>> >>>
>> >>> --
>> >>> You received this message because you are subscribed to a topic in the
>> >>> Google Groups "Django users" group.
>> >>> To unsubscribe from this topic, visit
>> >>>
>> https://groups.google.com/d/topic/django-users/3UR_6HtcnY0/unsubscribe.
>> >>> To unsubscribe from this group and all its topics, send an email to
>> >>> [email protected].
>> >>> To post to this group, send email to [email protected].
>> >>> Visit this group at http://groups.google.com/group/django-users.
>> >>> To view this discussion on the web visit
>> >>>
>> https://groups.google.com/d/msgid/django-users/CAP7uED%2BHrqnCb3s22%3DRM-1TP71KsFkj7jVaRsYEdvVi5OCUpCA%40mail.gmail.com
>> .
>> >>>
>> >>> For more options, visit https://groups.google.com/d/optout.
>> >>
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> Groups
>> >> "Django users" group.
>> >> To unsubscribe from this group and stop receiving emails from it, send
>> an
>> >> email to [email protected].
>> >> To post to this group, send email to [email protected].
>> >> Visit this group at http://groups.google.com/group/django-users.
>> >> To view this discussion on the web visit
>> >>
>> https://groups.google.com/d/msgid/django-users/CAOw%3DD6U%3DwdL_5ZcEgfD8zvPjGLDzE85%3DVXe2a0LRKbB%3D1Nb%2Big%40mail.gmail.com
>> .
>> >>
>> >> For more options, visit https://groups.google.com/d/optout.
>> >
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "Django users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an
>> > email to [email protected].
>> > To post to this group, send email to [email protected].
>> > Visit this group at http://groups.google.com/group/django-users.
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/django-users/CAP7uEDKhA%2B5n9Zd%3DuM5KaoKFEDRYxkVvdRSK50UrWgKjAMkiaA%40mail.gmail.com
>> .
>> >
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Django users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/django-users/3UR_6HtcnY0/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/django-users.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/CAGBeqiOS%2BDSG1G73jEL3t-GAwSCevhXRQ%3DKMRJ8WmRjqgMog2w%40mail.gmail.com
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/CAOw%3DD6XGiBOoaCwf%3DZQBDgowsnjFZzDf%2BHRbE4LCOVin2cpMaA%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CAOw%3DD6XGiBOoaCwf%3DZQBDgowsnjFZzDf%2BHRbE4LCOVin2cpMaA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAP7uED%2Bkj3FEjQgHLwVtKtCnqY2ZuTaPoOLPtko3bO%3Dy2TWcGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to