(zastrzeżenie: jestem liderem projektu dla web2py)
Django jest około 5 lat dłuższe niż web2py, dlatego ma więcej użytkowników i więcej aplikacji, którymi można się pochwalić. Django ma to, co nazywają „admin”, co nie jest tym samym, co „admin” web2py, ale bardziej przypomina „appadmin” web2py. "Admin" Django jest lepszy i bardziej konfigurowalny niż "appadmin" web2py. Django nie ma odpowiednika "admin" web2py. (przepraszam za zamieszanie w nazwie).
Platforma web2py jest bardziej kompaktowa i ma większą funkcjonalność po wyjęciu z pudełka (więcej obsługiwanych baz danych, internetowe IDE, system biletowy, działa na GAE bez poprawek, wiele metod logowania, kontrola dostępu oparta na rolach, internetowy interfejs tłumaczenia, obsługa wielu połączeń z bazami danych, transakcje rozproszone i nie tylko).
Dla mnie najważniejszą funkcjonalnością web2py są automatyczne migracje. Django nie dostarcza ich po wyjęciu z pudełka.
Dla web2py głównym celem jest długoterminowa kompatybilność wsteczna, wraz z bezpieczeństwem. Django jest porównywalne z web2py pod względem bezpieczeństwa (z wyjątkiem tego, że web2py miało zapobieganie CSRF i domyślne ucieczki w szablonach, zanim to zrobiły), ale Django złamał kompatybilność wsteczną, gdy wydano 1.0. Platforma web2py nigdy nie działała od października 2007.
Dla mnie składnia web2py jest bardziej naturalna:
db(db.tablename.fieldname <= value).select()
Tablename.objects.filter(fieldname__lt=value)
Nie znam żadnej funkcjonalności web2py, której nie ma w Django. Zadawałem to pytanie wiele razy, ponieważ jeśli istnieje, to chcemy je dodać do web2py, ale nie otrzymałem jeszcze satysfakcjonującej odpowiedzi.
Oczywiście są rzeczy, które oboje robimy, ale inaczej. Django przestrzega zasady „wyraźne jest lepsze niż niejawne”. Platforma web2py nie działa i zamiast tego postępuje zgodnie z zasadą „wszystko powinno mieć domyślne zachowanie”. Uważam, że dzięki temu kod i konfiguracja web2py są bardziej zwarte.
W każdym razie, cokolwiek wybierzesz, są to dobre, solidne frameworki internetowe i jest mniej podobieństw niż różnic. Programiści Django to bardzo sprytni ludzie.
Społeczność web2py jest bardzo przyjazna. W ramach eksperymentu spróbuj zadać pytanie w grupie google web2py oraz w grupie Django.