Donald Trump has insisted that arming teachers would make schools safer, saying they would have "shot the hell out" of the Parkland gunman.
Having a percentage of teachers carrying firearms in schools would be "a major deterrent", he told a Conservative Political Action Conference (CPAC) rally in Maryland.
The US President said he did not believe all teachers should have guns – just "gun adept" people who already know how to handle weapons – and that the guns should be concealed.
"When we declare our schools to be gun-free zones, it just puts our pupils in far more danger. Far more danger," he said.
"Well-trained, gun adept teachers and coaches and people that work in those buildings, people that were in the marines for 20 years and retired, people in the army, the navy, the air force, the coastguard, people that are adept with weaponry and with guns. They teach.
"I mean, I don't want to have 100 guards standing with rifles all over the school. You do need a concealed carry permit."
The President was speaking nine days after the Marjory Stoneman Douglas High School shooting in Florida in which 17 people were killed by teenage gunman Nikolas Cruz.
He said if trained teachers had been armed during the Florida shooting a "teacher would have shot the hell out of him before he knew what happened".
In a speech that went on for over an hour, he was regularly cheered and given several standing ovations throughout.
Sky News' Washington Correspondent Mark Austin said: "The audience loved it. It was Trump in his element – but it was a very long campaign speech."
The President at one point went off script, reminiscing about his appearance in front of the group in 2011, calling it a love fest and his very first political speech.
Mr Trump criticised the armed Florida deputy, Scot Peterson, who stood outside the building and failed to confront the gunman during the attack, saying "he didn't turn out to be too good".
Speaking as he left the White House to attend the conference, he said the officer was either a "coward" or "didn't react properly under pressure" after it emerged Mr Peterson never went inside to engage the gunman as the shooting took place.
Austin said: "It was a bitter attack. Donald Trump was in an awkward situation because he was talking about arming teachers, and yet there was an armed guard outside the school.
"He called him a coward and went on to say the guard didn't know the pupils enough, and didn't love them. So he's not backing down on that."
Continuing to argue his case for arming teachers, Mr Trump told the conference: "This would be a major deterrent because these people (mass killers) are inherently cowards."
"If this guy thought that other people would be shooting bullets back at him, he wouldn't have gone to that school. He wouldn't have gone there.
He went on to warn of immigration, reading out the lyrics to a Northern Soul song about a woman who takes in a snake and is then bitten by it.
"Don't worry, you're getting the wall," he told an audience member who shouted out as he spoke about borders. Mr Trump has pledged to build a wall between the US and Mexico.
Talking about violent immigrant criminals, he said authorities need to "lock up and throw away the key".
During the wide-ranging speech he also boasted about his controversial tax cut programme and said his health plans are better than Obamacare – which is being "wiped out".
Making a rare joke about himself, Mr Trump said he goes to great lengths to hide his bald patch, which was revealed in recent photo when the wind blew as he boarded Air Force One.
As he appeared on stage he smoothed the back of his hair down.
"I try like hell to hide that bald spot, folks," he said as the crowd cheered.
Glancing at a monitor showing footage of himself, he added: "Doesn't look bad. Hey, we're hanging in."
The President also praised himself while talking about recognising Jerusalem as the capital of Israel, saying other presidents lied over promises to do the same thing.
"We did the right thing," he said.
More from Donald Trump
At the end of his speech he spoke about North Korea after the Treasury Department announced earlier in the day that it would be imposing further sanctions on the isolated nation.
The President said they were the "heaviest ever" sanctions to date against the country.