Will Vincent
wsvincent.com · Personal blog · on HN since 2016
Will Vincent, a Django author, writes about Python, web development, technical book publishing, and databases.
What HN saysHN commenters recommend his Django books, especially Django for Beginners, as easy to follow, and also link to his blog.
16HN people shared it
11linked it in comments
6stories submitted
54story points
1 year agolast shared
2016people per year2026
Most-shared posts
- 1Books3 people · first shared 2021
- 2Thoughts on Publishing a Technical Book (2018)2 people · 4 points · first shared 2018 · discussion on HN
- 3Homepage2 people · first shared 2019
- 4Python wat integer cache2 people · first shared 2020
- 5The Next WordPress1 people · 43 points · first shared 2017 · 39 comments on HN
- 6AI for the Rest of Us1 people · 3 points · first shared 2025 · discussion on HN
- 7Static Site Hosting with S3 and CloudFlare1 people · 2 points · first shared 2016 · discussion on HN
- 8Database Design Tutorial for Beginners1 people · 2 points · first shared 2018 · discussion on HN
- 9Django custom user model tutorial1 people · first shared 2019
- 10Djangoforprofessionals1 people · first shared 2020
- 11Best django books1 people · first shared 2020
- 12Javascript parseint map1 people · first shared 2018
What HN people wrote when they linked it
siquick · 2019-04-02
Brilliant blog
Also a fan of these:
https://wsvincent.com/ (and his books are excellent)
https://realpython.com/tutorials/django/
rlawson · 2023-02-22
On Django any of Adam Johnson or Will Vincent books are great
https://adamj.eu/books/
https://wsvincent.com/books/
satya71 · 2023-01-05
Will Vincent has a series of books for Django. I recommend Django for Beginners as a start. Two Scoops and Django for Professionals are great after you have a few projects under your belt.
https://wsvincent.com/books/
faho · 2021-07-09
>Is that really what's going on here? I'm in way too deep to be sure what's best for beginner programmers, but I feel like Python must surely optimise...
For these particular numbers, CPython has one optimization I know of: Small integers (from -5 to 256) are pre-initialized and shared.
See https://docs.python.org/3/c-api/long.html#c.PyLong_FromLong
This is generally invisible to the python programmer, but leads to https://wsvincent.com/python-wat-integer-cache/
wilsonfiifi · 2021-04-06
You can also check out William Vincent's books [0]. They're easy to read and follow.
A nice blog to also include in your django learning resources bookmarks is Simple is Better than Complex [1].
[0] http://wsvincent.com/books/
[1] https://simpleisbetterthancomplex.com/
stakkur · 2020-02-21
Three resources I always recommend for beginners:
1. The Django Girls tutorial (multi-language): https://tutorial.djangogirls.org/
2. Will Vincent's books (also recommend his blog): https://wsvincent.com/best-django-books/
3. Tango with Django: https://www.tangowithdjango.com/
Also, here's a somewhat more comprehensive list of Django learning resources:
https://www.fullstackpython.com/django.html
rusbus · 2019-04-01
A lot of these are pretty inaccurate, at least for modern Django.
1. I'm pretty sure that's not true if I'm correctly interpreting what you mean...You can do things like `path('myapp/', include(myapp.urls))`
4. Custom User models are now very straightforward (and recommended for non-trivial projects since it's easier to start with a Custom model that defaults to the default model for all options then modify it later)[1]
5. All these things are fairly straightforward and libraries like Django-Auth/Django-Rest-Auth cover a huge set of the normal use cases (OAuth, JWT, tokens, etc.)
6. Django Rest Framework is a best-in-class solution for Rest APIs
9. See 6.
[1] https://wsvincent.com/django-custom-user-model-tutorial/
pydeveloper22 · 2019-02-22
Check out https://wsvincent.com
He has a pretty good site on Django a couple books published with a third on the way.
mkl · 2020-05-02
Small integer caching: https://wsvincent.com/python-wat-integer-cache/
The objects for small integers are built-in and static, but 17^2 is too big, and so new integer objects are created when the expressions are evaluated. "is" checks if two expressions represent the same object in memory. "==" checks for equality of values.
morenoh149 · 2020-01-06
For me it's really learning Django with https://wsvincent.com/books/djangoforprofessionals
really learning postgres with https://theartofpostgresql.com/
trying out typescript on a side project
and migrating one project from heroku to docker + terraform
Mister_Snuggles · 2018-10-05
I don't use JavaScript very much, so keep that context in mind.
As far as JavaScript the language goes, my biggest complaints are to do with the sparse standard library (leftpad should be something easy to do with built-in string formatting functions[0], not a 3rd-party library), unexpected behaviour (the map/parseInt thing[1] being one example), etc.
The unexpected behaviour stuff is truly a case of needing to understand the language - after all, why should JavaScript behave like Python? However, as someone who doesn't use JS much, these bits of weirdness make it more difficult to use when I need to.
[0] https://docs.python.org/2/library/stdtypes.html#str.rjust - this is a Python example, but why doesn't JS have this in its stdlib?
[1] https://wsvincent.com/javascript-parseint-map/