As I understand your post, you're not saying that these people are wrong to ask for money or contributions; you're saying they're asking you for too much.
It's hard to give and give when your budget is tight and you're worried about your pennies. I agree that it would have been better for the school to have mentioned the canned goods with the invitation, not afterward. (Maybe it was an afterthought with them.)
You need to say no sometimes. And it's perfectly all right to do. It's because so many people are asked that it's possible to say no and be assured that some other people will be saying yes.
If an organization calls you, you may have to say, "Sorry - not this year," and leave it at that. Some people have particular organizations they faithfully support - their church and/or some particular charities - and they put their money (whether a little or a lot) there. A friend of mine is a huge supporter of Goodwill Industries, and that's her donational focus as well. She knows that the other organizations are worthy, but this is the one *she* focuses on. There's nothing the matter with that.
Meanwhile, you find a can of something - or maybe two, because somebody else may *truly* be without something to bring - and you mention to the school that next year they need to communicate differently.