For years, I have defined self discipline as "doing what's right regardless of what you want to do," and felt very frustrated because I had no emotional or psychological way to do that. But I have come up with a new and improved definition!
Self-discipline is doing, thinking, saying, and being what you truly want to do and be, without regard to what you happen to feel like doing at the moment.
This sprung from the insight I gained from James Allen's As a Man Thinketh and David Burn's Feeling Good: The New Mood Therapy, that our feelings are determined entirely by our thoughts and actions, and our actions are determined entirely by our thoughts. Therefore, it is illogical to base our thoughts and actions on how we feel. If we feel sad, we ought to do something that makes us feel happy. The thought "what do I feel like doing" does not result in happiness.
Rest and pleasure have their time and place. But basing our lives and actions off of what we feel like doing is illogical. So, here is what I have done. Whenever I catch myself thinking "do I feel like doing _____" or checking to see what I feel like doing, I replace that thought with, "do I truly want to do _____? What will the consequences be? How will this activity make me feel?" This change in mindset has helped me make an immediate and noticeable improvement in my productivity. Needs, wants, and "feel likes" are three separate things. The last is, so far as I can tell, totally useless and irrelevant.
Of course, I may be wrong about that. :) But I was definitely focusing on what I feel like doing far, far too much. This principle has helped me.