The best stretches to do before any exercise is no stretches at all. Stretching before exercise weakens your muscles and increases risk of injury. Any stretching you do should be after the exercise as part of a cooldown.
The best warmup to do for weight lifting is appropriately called warmup sets. Do 3 sets of whatever lift you'll be doing with much lighter weights than your target weight for that day. So if you're going to be deadlifting 135lbs that day, you would do a warmup set with just the bar and bumper plates (~50lbs), then another set at 65lbs and a third set at 85lbs. You can adjust the weights according to however you feel. Obviously if it doesn't feel good, go lighter and throw in an extra set.
Doing warmup sets is also a good way to figure out if something is off that day. If what you expected to just be your second warmup set feels unusually heavy, that's a good sign that you may have overtrained or haven't taken enough time to recover.