From c252c3dfa550e57a7a9ac9bde518d10bb639c315 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Wed, 29 Jul 2020 14:55:10 +0100 Subject: [PATCH] Update sponsors (#7434) * Adjusted token admin to map to user ID. Closes #6131. * Adds a proxy model for Token that uses the user.pk, rather than it's own. * Adjusts Admin to map back from User ID to token instance. * Update sponsors Co-authored-by: Carlton Gibson --- README.md | 16 ++++------------ docs/img/premium/bitio-readme.png | Bin 0 -> 27386 bytes docs/index.md | 6 ++---- 3 files changed, 6 insertions(+), 16 deletions(-) create mode 100644 docs/img/premium/bitio-readme.png diff --git a/README.md b/README.md index 95020bb1d..4dfff3119 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,11 @@ The initial aim is to provide a single full-time position on REST framework. [![][sentry-img]][sentry-url] [![][stream-img]][stream-url] [![][rollbar-img]][rollbar-url] -[![][cadre-img]][cadre-url] -[![][kloudless-img]][kloudless-url] [![][esg-img]][esg-url] -[![][lightson-img]][lightson-url] [![][retool-img]][retool-url] +[![][bitio-img]][bitio-url] -Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Sentry][sentry-url], [Stream][stream-url], [Rollbar][rollbar-url], [Cadre][cadre-url], [Kloudless][kloudless-url], [ESG][esg-url], [Lights On Software][lightson-url], and [Retool][retool-url]. +Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Sentry][sentry-url], [Stream][stream-url], [Rollbar][rollbar-url], [ESG][esg-url], [Retool][retool-url], and [bit.io][bitio-url]. --- @@ -191,25 +189,19 @@ Please see the [security policy][security-policy]. [funding]: https://fund.django-rest-framework.org/topics/funding/ [sponsors]: https://fund.django-rest-framework.org/topics/funding/#our-sponsors -[rover-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/rover-readme.png [sentry-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/sentry-readme.png [stream-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/stream-readme.png [rollbar-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/rollbar-readme.png -[cadre-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/cadre-readme.png -[load-impact-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/load-impact-readme.png -[kloudless-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/kloudless-readme.png [esg-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/esg-readme.png -[lightson-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/lightson-readme.png [retool-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/retool-readme.png +[bitio-img]: https://raw.githubusercontent.com/encode/django-rest-framework/master/docs/img/premium/bitio-readme.png [sentry-url]: https://getsentry.com/welcome/ [stream-url]: https://getstream.io/try-the-api/?utm_source=drf&utm_medium=banner&utm_campaign=drf [rollbar-url]: https://rollbar.com/?utm_source=django&utm_medium=sponsorship&utm_campaign=freetrial -[cadre-url]: https://cadre.com/ -[kloudless-url]: https://hubs.ly/H0f30Lf0 [esg-url]: https://software.esg-usa.com/ -[lightson-url]: https://lightsonsoftware.com [retool-url]: https://retool.com/?utm_source=djangorest&utm_medium=sponsorship +[bitio-url]: https://bit.io/jobs?utm_source=DRF&utm_medium=sponsor&utm_campaign=DRF_sponsorship [oauth1-section]: https://www.django-rest-framework.org/api-guide/authentication/#django-rest-framework-oauth [oauth2-section]: https://www.django-rest-framework.org/api-guide/authentication/#django-oauth-toolkit diff --git a/docs/img/premium/bitio-readme.png b/docs/img/premium/bitio-readme.png new file mode 100644 index 0000000000000000000000000000000000000000..42959bb60c23dcca3f21f43ed55438ef75e48180 GIT binary patch literal 27386 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
  • ESG
  • Rollbar
  • -
  • Cadre
  • -
  • Kloudless
  • -
  • Lights On Software
  • Retool
  • +
  • bit.io
  • -*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Sentry](https://getsentry.com/welcome/), [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf), [ESG](https://software.esg-usa.com/), [Rollbar](https://rollbar.com/?utm_source=django&utm_medium=sponsorship&utm_campaign=freetrial), [Cadre](https://cadre.com), [Kloudless](https://hubs.ly/H0f30Lf0), [Lights On Software](https://lightsonsoftware.com), and [Retool](https://retool.com/?utm_source=djangorest&utm_medium=sponsorship).* +*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Sentry](https://getsentry.com/welcome/), [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf), [ESG](https://software.esg-usa.com/), [Rollbar](https://rollbar.com/?utm_source=django&utm_medium=sponsorship&utm_campaign=freetrial), [Cadre](https://cadre.com), [Kloudless](https://hubs.ly/H0f30Lf0), [Lights On Software](https://lightsonsoftware.com), [Retool](https://retool.com/?utm_source=djangorest&utm_medium=sponsorship), and [bit.io](https://bit.io/jobs?utm_source=DRF&utm_medium=sponsor&utm_campaign=DRF_sponsorship).* ---