Students make bad decisions, especially as a teenager. They are at that age where they want to do adult things but do not yet have the mind set to actually be allowed to do them. This is what creates the rebellion stage and makes them do silly things like drink at school. We can not take their education away because they made a small mistake though.
Of course, students caught using drugs or alcohol at school should be disciplined. Nevertheless, expulsion is too drastic. Teachers should focus their energy on educating students about the dangers of substance abuse rather than enacting draconian penalties. Also, it's unfair to expel a student for a single violation. Perhaps repeated violations would warrant expulsion.