Re: Built a API with django rest framework how do i get a key for people or is it open to them

2016-04-11 Thread Amandeep Singh
Hi Robert

As for as API key is concerned it's mainly to track usage records for a key
which would be linked to a person/user entity and provide a layer to block
unwanted requests(stops requests at middleware before hitting the view).
This key could be sent in headers or as the query parameter.

But the choice of using a key is totally yours, if you are providing a
universal key then it's no good and if you  are providing key per user then
you could even think about using auth tokens for authorization and
authentication( benefit easy to integrate with rest-framework).

Amandeep

On Tue, Apr 12, 2016 at 8:22 AM, djangorobert 
wrote:

> Hello fellow django users I recently built a api for just a small sprint
> board where tasks can be set its built with django and django rest
> framework what i see though  is most apis have like a key that others can
> use do i have to offer api keys or is mine able just able to be free thats
> where im confused.
>
> Mainly for others to use an api do i have to offer a key
> or is it ok to just let them go to the site and use it thanks
> please be patientim new with apis
>
>
> thanks Robert
>
> --
> 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 https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/0c239c3d-bf92-4e7f-a101-0b1b562d7a40%40googlegroups.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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAMi_2%3DFx4MCxF5sRaHZdqJYVymXS8hB_6gbY0cxuPfi-SNQMsA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: Flakey tests and django.db.utils.InterfaceError: connection already closed

2016-04-11 Thread thinkwell
I'd parked this problem for quite some time, until it finally became 
incontestably necessary to wrestle the issue to the ground.

What I found, after many hours of experimenting - too much like the random 
walk, I suppose, is that every time I overrode setUpClass, I also had to 
override tearDownClass. Before, if I had nothing to clean up after the 
test, I wouldn't bother overriding tearDownClass.

When I went to all my tests and added 

@classmethod
def tearDownClass(cls):
 pass

Then my problems went away. I reckon that's in the docs somewhere. But it 
seems to me that tearDownClass should be able to degrade more gracefully. 
:weary:



-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/48645d77-8c7d-46aa-82fc-24ea98153190%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Trouble getting posted

2016-04-11 Thread Gary Roach

James

My original post was a test to see whether I had a global problem which 
I didn't. The rest is just a  discussion that ensued. ie Off topic by 
accident.


One last comment. I use a Debian Linux system with Mozilla's firebird 
email client. No insults intended but I stay as far away from Microsoft 
as I can.


Yours very opinionated

Gary R

On 04/10/2016 10:57 PM, James Schneider wrote:


Actually James, I don't think that is true. I run a group for a
project and have no trouble getting returns on my posts. This is a
feature that can be turned on/off a I recall. I have no trouble
getting my posts returned with this site but only with my
debian-user site. I think the trouble is with that site and have
informed them as such. I hope I have not misunderstood your
statement, but Google Groups does return the original post. The
original post essentially sets up a new



W...it may "appear" that way if you are using the web or 
mobile GMail email client (which I assume most people on this list 
do). GMail/Google does some funny business with Google Groups 
integration to make everything seem integrated and would have you 
believe that you are in fact receiving a copy of the message (does it 
really matter if your response just 'appears' in the right spot, 
though?). After a quick Google to confirm my own sanity, it appears 
that the GMail clients will automatically thread messages with the 
same Message-ID, even if they live in different folders (and in this 
instance, it would be my Primary inbox, and my Sent Items).


However, this account is also tied to an MS Outlook instance, and 
unless MS is doing something funny with my replies to this group, I 
have no copies of this response in my Inbox. I'm not claiming to be an 
Outlook wizard, but I don't believe I have any rules set up for this 
account, so I doubt Outlook is to blame.


You can also Google around to see others echoing concerns about the 
same "odd" behavior that Google Groups uses. Personally I think it is 
a passive attempt by Google to encourage you to use GMail, and also 
cuts down (marginally) the amount of email they send out. It's 
certainly one of the reasons I keep using the web interface and mobile 
app over my MS Outlook client.


It may be configurable (perhaps only by the list admin), but I seem to 
remember researching this same issue when I first posted to 
django-users, and was confused when I didn't see my response come back 
(GMail's integration was not as good at the time IIRC). I think I 
double-posted for that exact reason.
Perhaps someone else can confirm the behavior I'm describing, or echo 
that I'm crazy. I'm good either way.


topic to which others can append comments. For my own group, I
found that setting up categories and forcing the participants to
post by logging into the group works best. But that is a special
case and would be a mess for a large users  group.


Not sure why logging in to a group interface would have any effect on 
mail routing. I suppose it would be 'easier' to tie together threads 
that are posted directly to a forum/thread form than trying to 
correlate a random email address with the same subject line. Pure guess.
On a side note, you also mentioned an issue specifically with the 
Debian Users list, which this list is not. Other than maybe a "me too" 
response, I'm not exactly sure what the intention of the message to 
this list was about. I'm sure many of us are on that list as well, though.


-James
--
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CA%2Be%2BciW1O3ECV2AqaORPkM3Zngn%3DxkpzxtFr1gyB9%3D_PXMTx_w%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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/570C6B1D.5050306%40verizon.net.
For more options, visit https://groups.google.com/d/optout.


Re: Looking for ways to improve my skills

2016-04-11 Thread djangorobert

I would go to Djangopackages.com 
there you will be able to see many packages that are built and get some 
ideas and get some ideas on others code 
good place to get ideas for sure.
On Saturday, April 2, 2016 at 5:37:22 PM UTC-5, Devrhoid Davis wrote:
>
> Hi All, 
>
> I have been working with Python for just over 3 years now and have 
> recently taken up django. I have completed both the polls app and have 
> created an address book app by following a tutorial on youtube. I am 
> looking fro ways to improve my competence with django and possibly some end 
> to end website projects. Can anyone provide me with some links as to where 
> I could find resources for improving my skills and then avenues for using 
> these skills to generate income?
>
> Thanks in advance. 
>
> Regards,
> Devrhoid
>
>

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/cb01a66e-e6c1-4092-81fe-364afe2ad823%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Anybody use Tornado and Python if so with wich service ?

2016-04-11 Thread djangorobert
I am a user for pythonanywhere.com 

I build most of my apps there and have just started to use aws a trial 
account I know pythonanywhere.com does not allow you to use tornados 
framework
I want to build 
a chatting app 
but 

wanted to see what Django python users are using to make this happen 

thanks 

which service are you using as in aws, paw, ? 


-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/a9fdffe9-3286-429e-97ed-44b53632a388%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Built a API with django rest framework how do i get a key for people or is it open to them

2016-04-11 Thread djangorobert
Hello fellow django users I recently built a api for just a small sprint 
board where tasks can be set its built with django and django rest 
framework what i see though  is most apis have like a key that others can 
use do i have to offer api keys or is mine able just able to be free thats 
where im confused. 

Mainly for others to use an api do i have to offer a key 
or is it ok to just let them go to the site and use it thanks 
please be patientim new with apis 


thanks Robert

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/0c239c3d-bf92-4e7f-a101-0b1b562d7a40%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: CKEditor

2016-04-11 Thread Luis Zárate
Supongo está usando django-ckeditor, si es así lo que tiene que hacer es
usar el field que ellos proporcionan.

https://github.com/django-ckeditor/django-ckeditor#field


además recuerde usar {{form.media}} en la plantilla, para que se cargue el
js.

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAG%2B5VyN3%3D1HKLw4VJO9odtkJ0oOz831qodUoC8awu9u-EaD9dA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


CKEditor

2016-04-11 Thread Ricardo Felipe Ríos Higueras
Buenas.

Estoy usando ckeditor en django. 
Todo bien, lo instalé bien y por parte del admin funciona excelente.

Lo que quiero es llevar esa herramienta a un form. Crear un formulario que 
contenga ckeditor.

Espero me entiendan y puedan ayudarme, ya que, he intentado de muchas 
formas y nada me resulta.

Muchas gracias!
Saludos.

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/d10cda1c-176b-4667-8f7c-72ce6578519c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: In a new Model with a OneToOne(User) relationship, how to get the username?

2016-04-11 Thread James Schneider
On Sun, Apr 10, 2016 at 5:12 AM, Andrew Chiw 
wrote:

> class Client(UserenaBaseProfile):
> def __str__(self):
> return self.name
>
> user = models.OneToOneField(User,
> unique=True,
> verbose_name=_('Django Login'),
> related_name='client')
>
> name = models.CharField(max_length=100, unique=True, default=user.name
> )
>
>
> The title says it all - this class is supposed to have a OneToOneField
> relationship with a Django User, and through django-toolbar I've seen that
> when a user signs up, the Django User is created first and then my Client
> class. But how do I get the Client class to have the same name as the
> Django User's name?
>

The reason this doesn't work the way you want is because Django is
specifically designed not to work that way. The 'default' keyword is a
database table default, not a Python code default. This means that the
value for 'default' is calculated to a final value once, and when the
column is created, that value is used as the 'default' and programmed
directly into the database table configuration. Django does not reference
this argument except during migrations (AFAIK). And, given that it is a
class definition, the value is only calculated once at the start of the
thread. Since it is only a class definition at run time (you are not
processing an object when Django starts), your default turns out to be a
OneToOne field object with no data (not a User object or anything useful),
which would eventually translate into some string usable as a database
default, hopefully. I ran a version of this quickly in the shell, and
client.name.default ended up being None. Not sure if that is what happens
during a migration, since my shell is probably running in a vacuum compared
to a full makemigration run.

Mike's answer about overriding the save() method and adding a helper
function for your model is the way to go. It depends on the logic you want
to implement, but I would expand his example a bit more to say that you
first try to retrieve self.name, if that is empty then return
self.user.username and/or self.user.firstname/lastname. This would assume
setting a default='' on your name field. This gives you the flexibility of
grabbing either the 'name' or the username if 'name' isn't available, and
allowing you to build queries down the road to find all of the users that
have not specified a name for themselves.

With your strategy, assuming it worked, you wouldn't be able to
differentiate between users with no name assigned, and those who used their
usernames as their "name" intentionally. You would also need to run an
extra calculation in your ORM/DB query that would compare the value of
self.name and self.user.username to see if there was a difference, which is
expensive and difficult to maintain.

I would also suggest you add a null=True to your user field, since you
likely will never have a Client object that is not associated to a User
object.

There is also a get_full_name() and get_short_name() on the User class that
you can use, possibly instead of the "name" field you are creating.

-James

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CA%2Be%2BciWE1PS5J4FyTvGnAKK8ha-DO2hqTERnA7R%3DPRKGC4FGfA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: Emails to users

2016-04-11 Thread jorrit787
Django's email features are covered here: 
https://docs.djangoproject.com/en/1.9/topics/email/ .


On Sunday, April 10, 2016 at 7:47:46 PM UTC+2, Luca Brandi wrote:
>
> Hi
> I am wondering how the admin can communicate to his users...Is there a way 
> for example to create email templates and then email them to user? 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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/285fbe42-1740-40b7-9c20-3e4bb7800741%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: a design about cache(using redis) , and some problem about it

2016-04-11 Thread Brendan Quinn
On Sunday, April 10, 2016 at 1:38:47 PM UTC+1, Xin Liu wrote:
>
> Now, Let's look at the following scenario:
> A website manage 10,000 students, and show top 100 of student's 
> achievement.
> I use mysql storage every student personal information(name email sex and 
> achievement)
> but I have to get every student achievement and caculate Top 100, so I use 
> redis to solve this problem, cache the Top 100 with redis and storage it in 
> sorted set data type.
>
> But now, the problem is: if one student achievement is change, should I 
> update the redis‘s Top 100 every time??
>
> this case may be good, you can think it as a game score Top 100,
>

This looks like a case where relying on some properties of your problem 
domain can help.

One thing you could do is to store the score/grade of the lowest-ranking 
student who is still in the top 100, ie the "threshold" score that puts you 
in to the top 100. You could store the "threshold" value in your redis 
cache as well.

Then each time a student's score changes, you can check whether
  (a) the student's previous score was above the threshold and their score 
has decreased to be below the threshold (ie they've dropped out of the top 
100),
  or  (b) if the student's previous score was below the threshold and is 
now above it (ie they've just entered the top 100).

If either of those is true, you will need to recalculate and cache the top 
100 list. But if neither condition is true (which should be most of the 
time), you can leave the cache untouched.

There are probably other smart things you can do so that you don't have to 
re-execute a MySQL query each time you rebuild the top 100 list, but this 
optimisation should save you a lot of queries.

Hope that helps,

Brendan.

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/c4c6c600-dbe1-4d09-aa72-2962e82e65e0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Emails to users

2016-04-11 Thread Luca Brandi
I can create a template but then how to create a function to send it via 
smtp?

Il giorno domenica 10 aprile 2016 19:51:40 UTC+2, Avraham Serour ha scritto:
>
> Of course there's, you'll need to create email templates and then email 
> the users
>
> On Sun, Apr 10, 2016, 8:47 PM Luca Brandi  
> wrote:
>
>> Hi
>> I am wondering how the admin can communicate to his users...Is there a 
>> way for example to create email templates and then email them to user? 
>> 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...@googlegroups.com .
>> To post to this group, send email to django...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/fe9e06c2-5785-482b-b296-bdb5e2f8371c%40googlegroups.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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/993eda98-3ef9-4393-bb87-a81dc8f565fd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Django extends BaseAuthenticationForm renderring get different display

2016-04-11 Thread Guangbao Wan
Hi, guys,
The bellow is my overwriting login form . 

class BaseAuthenticationForm(AuthenticationForm):
''' Extends django AuthenticationForm to override username so it's not
  limited by 30 chars since using email auth and emails can be > 30 chars.
Using 75 as the max_length, since that is the max_length on EmailField;
  yes, no constant to import since django's using a magic # 75.
'''
# Use StrippedCharField to strip out leading and trailing spaces in the 
username
username = StrippedCharField(label="Username", max_length=75,  
widget=FORM.TEXT_INPUT)
password = forms.CharField(label="Password", widget=FORM.PSWD_INPUT)

When I'm using this in my view function, the form in the web page seems 
strange.

1. debug the project. 
  The login page got ""

2. refresh the page,  got ""

I don't know why, really confuse me .

If any guys have  met this, Could you please tell me why?  thank you 

and now my solution is :

class BaseAuthenticationForm(AuthenticationForm):

def __init__(self, *args, **kwargs):
self.base_fields["username"].widget.attrs["maxlength"] = 75
self.base_fields["username"].widget.attrs["class"] = "text"
self.base_fields["password"].widget.attrs["class"] = "text"
super(BaseAuthenticationForm, self).__init__(*args, **kwargs)
def clean_username(self):
username = self.cleaned_data["username"]
return username.strip()



thank you .
GB.


-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/79a002b4-bfb3-4637-8673-ba67ef0722b5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: a design about cache(using redis) , and some problem about it

2016-04-11 Thread Michiel Overtoom

> On 2016-04-10, at 14:04, Xin Liu  wrote:
> 
> show top 100 of student's achievement

MySQL query to get the 100 students with best achievements:

  select student_id, student_name, student_score
  from Students
  order by student_score desc
  limit 100

Greetings,

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/81DB60A6-F6EA-4FCE-827D-F2C381D57918%40xs4all.nl.
For more options, visit https://groups.google.com/d/optout.


Re: What Python/Django code checkers do you recommend?...

2016-04-11 Thread Christian Ledermann
A good start is running flake8 with various plugins on the CI, and/or
pre-commit.
As you have a large codebase do not try to fix everything at once,
you'd just get overwhelmed with all the violations reported.


On 10 April 2016 at 14:21, Avraham Serour  wrote:
> I use all, specially because they are free for open source
>
>
> On Fri, Apr 8, 2016 at 7:00 PM, Fred Stluka  wrote:
>>
>> Python/Django programmers,
>>
>> What code review tools do you use?  Do you run them automatically
>> when checking in new code?  Do you recommend them?
>>
>> Details:
>>
>> I'm working on a large Python/Django Web app (1,000 files, 200,000
>> lines of code, 3.5 years) and spend a good chunk of my time reviewing
>> code written by other team members.  I'd like to automate many of the
>> checks that I currently do manually:
>>
>> - Coding standards violations
>>   -- Lack of logging
>>   -- Missing docstrings
>>   -- Hardcoded literals instead of named constants or utility functions
>>   -- Standard columns in all DB tables (create_user, create_date,
>>update_user, update_date, status, etc.)
>>   -- etc.
>>
>> - Architecture violations
>>   -- Doing things in the UI layer vs the business logic layer
>>   -- Respect the MVC boundaries
>>   -- etc.
>>
>> - Logic errors
>>
>> - Defensive coding
>>   -- Unchecked assumptions
>>   -- Missing else clauses on if statements
>>   -- Missing exception handlers
>>   -- Exception handlers that suppress errors
>>   -- etc.
>>
>> - Security and data validation
>>   -- Vulnerability to injection attacks (SQL, JS, etc.)
>>   -- Data validation and security enforcement in browser vs. server
>>   -- etc.
>>
>> - Massive inefficiencies
>>   -- Cursor loop vs more specific DB SELECT
>>   -- Caching opportunities
>>   -- etc.
>>
>> - Reuse opportunities
>>
>> - Lack of test cases
>>
>> - DB migration issues
>>   -- Non-idempotent migrations
>>   -- Edited migrations
>>   -- Migrations that call non-migration code that might change
>>
>> - User experience
>>   -- Show clear error messages in all cases of user error
>>
>> - etc.
>>
>> What tools do you recommend to automate such checks?  I'm currently
>> most interested in Python/Django, as well as JavaScript/CSS/HTML.
>>
>> Some automation tools I've found include:
>> - Gerrit
>>   https://www.gerritcodereview.com/
>> - BitBucket Server (was Stash)
>>   https://www.atlassian.com/software/bitbucket/server/
>>
>> Such automation tools support a workflow of human interactions for
>> manual code reviews (comments, replies, todos, etc.).  They also call
>> code review tools like the following to scan the code automatically:
>> - Sonar (multiple languages via plugins)
>>http://www.sonarqube.org/
>> - JSHint (JavaScript)
>>http://jshint.com/
>> - JSLint (JavaScript)
>>http://www.jslint.com/
>> - TSLint (TypeScript)
>>https://palantir.github.io/tslint/
>> - PMD (mostly Java/JS, some Python)
>>https://pmd.github.io/
>> - Checkstyle (Java, not Python)
>>http://checkstyle.sourceforge.net/
>> - FindBugs (Java, not Python)
>>http://findbugs.sourceforge.net/
>> - CodeNarc (Groovy and Java, not Python)
>>http://codenarc.sourceforge.net/
>>
>> I've also done a quick Google for Python/Django-specific tools:
>> - http://google.com/search?q=python+code+checkers
>> - http://google.com/search?q=django+code+checkers
>>
>> and found:
>> - code-checker
>>https://pypi.python.org/pypi/code-checker/
>> - PyChecker
>>https://pypi.python.org/pypi/PyChecker
>> - Pyflakes
>>https://pypi.python.org/pypi/pyflakes
>> - PyLint
>>https://pypi.python.org/pypi/pylint
>> - pep8
>>https://pypi.python.org/pypi/pep8
>> - Flake8 (wraps Pyflakes, pep8 and others)
>>https://pypi.python.org/pypi/flake8
>> - Django Lint
>>https://chris-lamb.co.uk/projects/django-lint
>> - QuantifiedCode
>>https://www.quantifiedcode.com/
>>
>> My IDE is PyCharm, which has the ability to check some things, but
>> I haven't yet investigated or configured it much.
>>
>> What do you recommend?  Any good or bad experiences to share?
>>
>> Thanks!
>> --Fred
>> 
>> Fred Stluka -- mailto:f...@bristle.com -- http://bristle.com/~fred/
>> Bristle Software, Inc -- http://bristle.com -- Glad to be of service!
>> Open Source: Without walls and fences, we need no Windows or Gates.
>> 
>>
>> --
>> 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 https://groups.google.com/group/django-users.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/5707D5A0.8020408%40bristle.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
>