Learning to walk nicely on lead is really about learning to walk within the confines of a leash. This isn’t easy for dogs when there are so many tempting smells to investigate. Allowing your dog a slightly longer lead to sniff and investigate is one way to reduce pulling. Another, is to stop when the leash taut - and only move when it slackens. Mark and reward your dog for choosing to be close to you when walking.
Training a dog to walk on a loose leash requires commitment and consistency. Noting that practise behaviour is LEARNT behavior, so if you sometimes allow your dog to pull you (say across the road to the park), it will make the task of training your dog to walk on a loose leash very hard as it has learnt that it can pull to reach reinforcement.