About managing dependencies in a collaborative development team and good practices.

2012-02-20 Thread Santiago Basulto
Hello people,

some time ago with a couple of friends started a project with Django.
We are really getting into it now, and have made several progress in
the last 3 months. But, as the code starts to grow up, everything
start to get complicated.

Right now we have our project hosted on Bitbucket, and is simple to
set the enviroment to develop. Just clone the repo, syncdb, run a
script that install some fixtures, and runserver.

But, we started to use some externa apps, and add extra code, and it
started to look like a mess. Furthermore, we are 3 guys coding, it
starts to get complicated to all have the dependencies right.

After taking a look how pinax handle it, it seems a good option to
make use of PIP for the external apps, and create virtual envs.

First question then: Is that good? To use PIP with the external apps?
Will it be easy to deploy it?

Second question: What about our own apps? Should i let them live in
the project root directory? Should i try to pack them as "egg"
packages?

Finally: Do you have any good practice to tell me? Experience is
really needed!!

Thank you all!

PD: I have no much experience with Python, i'm a Java guy, and don't
think you like Maven ;)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: About managing dependencies in a collaborative development team and good practices.

2012-02-22 Thread Santiago Basulto
Thank you guys.

I'm unsing virtualenvs and Pip. Seems great, is really easy that way.

What about deployment? Will it be simple? Or should i care about the
specific webserver?

Thanks!

On Feb 21, 1:21 pm, Tom Evans  wrote:
> On Tue, Feb 21, 2012 at 3:54 PM, Shawn Milochik  wrote:
> > On 02/21/2012 10:53 AM, Javier Guerra Giraldez wrote:
>
> >> i do exactly that.  just a tip: to create and maintain the pip
> >> requirements file do:
>
> >> pip freeze>  piprequirementsfile.txt
>
> > +1
>
> > And it's checked into version control.
>
> > Shawn
>
> How else would one do Software Change Management? :)
>
> Cheers
>
> Tom

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Security: How to destroy sessions for a user

2012-03-03 Thread Santiago Basulto
Hello people,

trying to implement a simple "change password" view this came out.
What's the best way  to destroy session information for a user?

For example consider when the user changes its password. All session
data should be destroyed.

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Gunicorn vs Chaussette vs Meinheld

2012-10-22 Thread Santiago Basulto
Hello people. Reading about Circus[1] I ran into a couple of different 
"WSGI servers" that I haven't heard before (Chaussette[2] and Meinheld[3]). 
My question is if those are all similar to Gunicorn (and can be used 
instead of the last) or are just complementary servers.


One thing that really confuses me is this:

Meinheld claims that you can use it with Gunicorn. 

>gunicorn --workers=2 --worker-class="egg:meinheld#gunicorn_worker" 
gunicorn_test:app

And Chaussette claims that you can use Meinheld as the backend.

This is really confusing. What's the advantages of one over the other? I'm 
using Gunicorn right now and works pretty well. Have you used any of the 
others?

[1]: http://circus.readthedocs.org/en/0.5.2.1/
[2]: http://chaussette.readthedocs.org/en/0.4/
[3]: http://meinheld.org/

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/qp6ch8XpDmAJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: Gunicorn vs Chaussette vs Meinheld

2012-10-23 Thread Santiago Basulto
Wow, thank you very much Tarek for your explanation. I'm willing to
try Circus, seems pretty awesome indeed. There's just one thing 1 need
to ask. As a summary...

Are Chaussette and Meinheld WSGI servers just like Gunicorn, can those
be used with Nginx as a reverse proxy?

On Mon, Oct 22, 2012 at 8:28 AM, Tarek Ziadé  wrote:
> On Monday, October 22, 2012 1:09:56 PM UTC+2, Santiago Basulto wrote:
>>
>> Hello people. Reading about Circus[1] I ran into a couple of different
>> "WSGI servers" that I haven't heard before (Chaussette[2] and Meinheld[3]).
>> My question is if those are all similar to Gunicorn (and can be used instead
>> of the last) or are just complementary servers.
>>
>>
>> One thing that really confuses me is this:
>>
>> Meinheld claims that you can use it with Gunicorn.
>>
>> >gunicorn --workers=2 --worker-class="egg:meinheld#gunicorn_worker"
>> > gunicorn_test:app
>>
>> And Chaussette claims that you can use Meinheld as the backend.
>>
>> This is really confusing. What's the advantages of one over the other? I'm
>> using Gunicorn right now and works pretty well. Have you used any of the
>> others?
>>
>> [1]: http://circus.readthedocs.org/en/0.5.2.1/
>> [2]: http://chaussette.readthedocs.org/en/0.4/
>> [3]: http://meinheld.org/
>
>
>
> tl;dr: with Circus and Chaussette you get a nice process management tool
> where you can manage all your processes in a single place (web
> workers,celery, redis, rabbit, elastic search etc..)
>
> long story:  Circus is able to bind the sockets and share them with the
> processes it manages.  The advantage is that you remove one layer of process
> management
>
> In a classical stack, if you have Gunicorn running 5 workers, and let's say
> - one celeryd and one redis running, you end up with 2 layers of process
> managers: the one you use to manage gunicorn, redis and celeryd -- and
> gunicorn that manages its 5 workers.  You end up not being able to interact
> with your web workers the same way you'd do with your other processes in
> your stack.
>
> using Circus, you can have a single layer of processes management.  More
> explanations here:
> http://circus.readthedocs.org/en/0.5.2.1/sockets/#circus-stack-v-s-classical-stack
>
> As for Meinheld, it can act as a standalone wsgi web server, like uWsgi for
> instance - and Chaussette offers it as a backend. And it also happens to
> allow you to bind gunicorn - which in my opinion does not make much sense
> since it's already a wsgi server.
>
> Cheers
> Tarek
>
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/django-users/-/IYcPGsXy8WYJ.
>
> To post to this group, send email to django-users@googlegroups.com.
> To unsubscribe from this group, send email to
> django-users+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.



-- 
Santiago Basulto.-

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Confusion with translations

2012-11-02 Thread Santiago Basulto
Hello people,

i'm having some difficult time with translation and I18N. I'm using in
my project django-user-accounts (from Pinax) but I can't translate the
strings there.

When I call manage.py makemessages -l es_AR I don't see translation
for this app ("account"). I've got installed correctly. Also, how can
I do to translate the strings contained in .py files. For example,
check out forms module:
https://github.com/pinax/django-user-accounts/blob/master/account/forms.py#L29

What am I missing?

Thank you very much.

--
Santiago Basulto.-

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Best practices to create multiple users profiles using Auth

2011-09-27 Thread Santiago Basulto
Hello friends,

i'm new with django. I've something to ask you.

I'm building a website similar to eBay where i've different "kinds" of
users. These are: CustomerUser and SellerUser. Both of them has
different data to be saved.

While reading docs and django book i noted the UserProfile
"trick" (https://docs.djangoproject.com/en/1.3/topics/auth/#storing-
additional-information-about-users) to store additional info about my
users. The problem is that i've two different users, not just one.

I'm wondering what would be the best choice. I've think that i could
use some inheritance, keeping the UserProfile strategy.

class UserProfile(models.Model):
# some common data
user = models.OneToOneField(User)

class Seller(UserProfile):
#specific Seller data

class Customer(UserProfile):
#specific Customer data

I tried to make that work, but i coulnd. I ran into several errors.

After that i thought i could include oneToOne info in the UserProfile,
similiar to:

class UserProfile(models.Model):
is_seller = models.BooleanField()
is_customer = models.BooleanField()
seller_info = models.OneToOneField(SellerInfo)
customer_info = models.OneToOneField(CustomerInfo)
user = models.OneToOneField(User)

class SellerInfo(models.Model):
#specific Seller data

class CustomerInfo(models.Model):
#specific Customer data

I think this should work, but also think that would be a "weird and
ugly" solution.

Have you expirienced this kind of problem? Can you help me with some
idea please?

Thank you very much!

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: Best practices to create multiple users profiles using Auth

2011-09-28 Thread Santiago Basulto
Thank you Ryan. I'll read it. Seems interesting.

On Sep 27, 10:30 am, ryan west  wrote:
> I actually just wrote a blog post about why I think extending
> contrib.auth.models.User is a better solution to using a OneToOneField
> (or a ForeignKey), you can find it here:
>
> http://ryanwest.info/blog/2011/django-tip-5-extending-contrib-auth-mo...
>
> Please let me know what you think.
>
> Regards,
>
> Ryan
>
> On Sep 27, 5:13 am, SantiagoBasulto
> wrote:
>
>
>
>
>
>
>
> > Hello friends,
>
> > i'm new with django. I've something to ask you.
>
> > I'm building a website similar to eBay where i've different "kinds" of
> > users. These are: CustomerUser and SellerUser. Both of them has
> > different data to be saved.
>
> > While reading docs and django book i noted the UserProfile
> > "trick" (https://docs.djangoproject.com/en/1.3/topics/auth/#storing-
> > additional-information-about-users) to store additional info about my
> > users. The problem is that i've two different users, not just one.
>
> > I'm wondering what would be the best choice. I've think that i could
> > use some inheritance, keeping the UserProfile strategy.
>
> > class UserProfile(models.Model):
> >     # some common data
> >     user = models.OneToOneField(User)
>
> > class Seller(UserProfile):
> >     #specific Seller data
>
> > class Customer(UserProfile):
> >     #specific Customer data
>
> > I tried to make that work, but i coulnd. I ran into several errors.
>
> > After that i thought i could include oneToOne info in the UserProfile,
> > similiar to:
>
> > class UserProfile(models.Model):
> >     is_seller = models.BooleanField()
> >     is_customer = models.BooleanField()
> >     seller_info = models.OneToOneField(SellerInfo)
> >     customer_info = models.OneToOneField(CustomerInfo)
> >     user = models.OneToOneField(User)
>
> > class SellerInfo(models.Model):
> >     #specific Seller data
>
> > class CustomerInfo(models.Model):
> >     #specific Customer data
>
> > I think this should work, but also think that would be a "weird and
> > ugly" solution.
>
> > Have you expirienced this kind of problem? Can you help me with some
> > idea please?
>
> > Thank you very much!

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Question about Signals and Bootstrap

2011-10-08 Thread Santiago Basulto
Hello people. I'm starting with django.

Where can i find some doc that explains how Django is bootstraped and
loaded. I'm looking for this becouse while i was reading the "Signals"
chapter at django docs, i read that "In some circumstances, the module
in which you are connecting signals may be imported multiple times."
This looks weird, and it's confusing me. So, before asking "where
should i put my signals code not to duplicate it?" i ask for the
django workflow.

Thank you all!

-- 
Santiago Basulto.-

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: How to add extra fields to User table

2011-10-23 Thread Santiago Basulto
I'm new with Django, but i've used AUTH_PROFILE_MODULE =
'accounts.UserProfile' and works great to me.

It's really simple to work with it, becouse everywhere you have a
auth.User you can issue a get_profile() and get your UserProfile.

On Oct 23, 4:52 am, Chen Xu  wrote:
> Hi, Every one:
> I am trying to create a user registration form.
> The default of User table has limited number of fields, but I want to add
> more into it.
> Therefore, I am wondering what is the better way to do it? Creating another
> UserProfile class, and adding  "AUTH_PROFILE_MODULE = account.UserProfile",
> or using Model inheritance?
>
> Thanks very much
> Best regards
>
> --
> ⚡ Chen Xu ⚡

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Questions about unicode

2012-11-23 Thread Santiago Basulto
Hey guys, i'm kind of confused here...

If I get data from a request, say:

request.GET.get("something") or request.POST.get("something")

Is it automatically being encoded based on the Encoding of the
request? Or I should take care of it explicitly?

Thank you.

--
Santiago Basulto.-

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: DatabaseError when running unit tests after upgrade to Django 1.3.1

2013-02-04 Thread Santiago Basulto
I've got the same problem guys, did you figure it out?

On Wednesday, May 2, 2012 6:10:08 AM UTC-3, Simon Bächler wrote:
>
> Yes, exactly the same here. Even creating the table in setUp doesn't help.
>
> Regards
> Simon
>
>
>> Did anybody experience something similar? 
>>
>> Cheers, 
>> Flo
>
>

-- 
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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Best ways and common practices to lock the Database before a new deploy

2013-02-21 Thread Santiago Basulto
Hello guys,

we've our app that's working awesome. We do a new release each week.
We've set up a nice deployment process using fabric and everything
works great.

The problem is that, as the application grows, it takes some time to
perform the deploy. And we're using South, so sometimes we need to
migrate some big tables.

So, the questions are:

* How should I lock my DB in the moment of the deployment? Should I
use different DB users at that moment?

* What other strategies do you use at the moment of the deployment you
can recommend?

Thank you very much!

-- 
Santiago Basulto.-

-- 
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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




App to engage users

2013-05-07 Thread Santiago Basulto
Hello guys.

Do you know of any app to keep track of new users and engage with them? 
These are roughly what I'm thinking of (requirements, for nice people):

* Keep track last users singed up.
* Keep track of contacts made to those users. I like to send a personal 
welcome email to everyuser that signs up. With my real email address. And 
asking for feedback.
* Account and keep track for certain actions. The user clicked that 
particular button? Did she uploaded a picture? Did she started the "buy" 
flow and left in the second step? Etc...

Anyway, do you know about something similar? If I can't find anything 
related, I'm going to start my own app for this. Feedback is welcome!

Thanks!

-- 
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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: App to engage users

2013-05-08 Thread Santiago Basulto
Here are a couple of apps i've been looking at myself:

* https://github.com/frankwiles/django-app-metrics
* 
https://code.google.com/p/django-voice/source/browse/#svn%2Ftrunk%2Fdjangovoice
* https://github.com/SpreadBand/django-backcap
* https://github.com/girasquid/django-feedback
* https://code.google.com/p/django-mailer/

On Tuesday, May 7, 2013 11:38:23 PM UTC-3, Santiago Basulto wrote:
>
> Hello guys.
>
> Do you know of any app to keep track of new users and engage with them? 
> These are roughly what I'm thinking of (requirements, for nice people):
>
> * Keep track last users singed up.
> * Keep track of contacts made to those users. I like to send a personal 
> welcome email to everyuser that signs up. With my real email address. And 
> asking for feedback.
> * Account and keep track for certain actions. The user clicked that 
> particular button? Did she uploaded a picture? Did she started the "buy" 
> flow and left in the second step? Etc...
>
> Anyway, do you know about something similar? If I can't find anything 
> related, I'm going to start my own app for this. Feedback is welcome!
>
> Thanks!
>

-- 
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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.