The simple answer, is, NO. You do not have to learn HTML in order to build a website, or work on one successfully.
The long answer is, that if you DO learn a little about HTML, and a little about CSS (try the For Dummies Books), it will make life easier for you. Especially when it comes to troubleshooting display issues, and customizing the appearance of your website inside a CMS.
A grasp of the simpler parts of HTML, such as link tags, div and table tags, paragraph tags, and line breaks, will help you to be able to spot errors and inconsistencies, and correct them. It will help you know when you want to move something from one part of the code to another, just how much you need to move. And it will help you know how to remove a piece from the code without getting errors from it.
Those are all secondary skills though. To start with, you can manage without it, if you use either a good HTML editor program, or a CMS with a template that you like (or if you have a friend who can tweak it for you).
In our classes, we teach our students how to use tools first, then how to recognize various pieces that they are most likely to need to work with directly in code. But that isn’t the focus of the class. The classes focus on more important things – such as working with design elements, good copy, effective promotion, and functional layout and SEO. The things that really determine whether a site is likely to be functional or not.
Learning code does not make you a web designer. Code is perhaps one of the least necessary things to learn, and a basic grasp of it, combined with a good knowledge of other aspects of web design and related skills, will propel you further than you’ll go if you can hand-code.