Yes, yes and yes to everything people have said above. A few other things that have really helped me when I've felt gross and ugly and can't imagine why anyone would want to touch me:
Appreciate your good features, and put some effort into showing them off. Do you have great hands or cute toes? A mani/pedi is awesome (I generally pay $30, or you can get a bottle of smokin' hot polish for a couple bucks). There is a time and place for everything, and while I don't wear makeup most days, being able to play up my eyes or my lips with color can be a great boost.
Make a positive change. I'm not saying you should go get a boob job or lipo or go one one of those stupid fad diets or anything crazy. But don't like you hair? Try a new style, or a new color. (If you don't like it, it's just hair and will grow out.) Feeling out of shape? Start or up your exercise routine, even if it's just walking around the block. No, you're not going to magically become a size 2 supermodel, but knowing that you're taking steps to becoming the best self you can be is awesome.
Stand up straight and smile. Nothing is sexier than confidence, and sometimes you gotta fake it 'til you make it. Working on improving your posture will make you look (and feel) more confident. (It will also make you look taller and your chest look bigger/perkier.) Smiling, too, will make you look and feel better.
Masturbate! Take time for yourself, set aside how you think others think you look, and enjoy your body for the pleasure you can give yourself. And don't just touch yourself "down there." Get to know and enjoy ALL of you - head to toe and everything in between.
But most of all, whatever you do, make sure you're doing it for yourself. Doing things because you think your partners would like you more if you did them isn't going to help YOU love yourself any more. And that's what you really need to be able to do. It's really hard to believe that your lovers love you for who you are, right now, at this moment, if you don't.