So Joe Biden launched his presidential campaign talking about Charlottesville.

The main thing this tells us that life is so good for the fabulous people on the coasts — the only group the Democratic Party truly cares about –– that they can afford to devote themselves to crazy fantasies that make them feel morally superior to other people.

The Democratic Party used to be about protecting workers’ wages. Now the pitch is: I will suck up more to The New York Times editorial page.

I am in no mood to defend Trump, but the media’s wholesale lying about Charlottesville is too much for any sane person to take. Everything the media say about it is the very definition of “fake news.”

No human being, dead or alive, has condemned “white supremacists” more than Trump has. I can’t begin to quote all the times he has done so, or this column would be the length of a book.

Within the first hour of the melee, the #Resist geniuses were already blaming Trump for the mere existence of white supremacists and neo-Nazis. It kind of looks like Trump was going to be called a Nazi no matter what he did.

At 10 a.m. on Aug. 12, 2017, Rosie O’Donnell tweeted a photo of Nazi flags at the rally, with the comment: “THE TRUMP EFFECT #25thAmendmentNow #stopTRUMP”

Soon thereafter, Rob Reiner tweeted: “Let’s be clear. The hatred we’re seeing in Virginia lies at the feet of Donald Trump. Stoked during the campaign, his silence condones this.”

Alyssa Milano tweeted at 11:59 a.m.: “Hey, you going to comment on this, @realdonaldtrump? #AltReich”

Trump was a Nazi because some of the people who hate him managed to get on Twitter a few hours before he did that day. (He was golfing.)

Around 1 p.m., Trump began tweeting about Charlottesville, saying, among other things:

“We ALL must be united & condemn all that hate stands for. There is no place for this kind of violence in America. Lets come together as one!”

“We must remember this truth: No matter our color, creed, religion or political party, we are ALL AMERICANS FIRST.”

The actresses said: NOT GOOD ENOUGH! (Sarah Silverman: “This is on-purpose vague bc ur a wimp that stands 4 nothing …”)

Trump’s statements were a LOT more condemnatory than any of President Obama’s statements on either the Dallas cop-killer or the Muslim who murdered 13 people at Fort Hood.

— Obama, two days after a black supremacist gunned down five policemen during a BLM protest against the police: “I think it’s very hard to untangle the motives of this shooter.”

— Obama, the day after the massacre at Fort Hood with an assailant shouting “Allahu Akbar!”: “I would caution against jumping to conclusions until we have all the facts.”

Back to Trump’s shockingly inadequate response to violence in Charlottesville. Later that day, the president reiterated the color-or-creed point and condemned the “hatred, bigotry and violence on many sides.”

Then we were off to the races! He said MANY SIDES. Q.E.D. He’s a Nazi.

That’s when twits like Marco Rubio and Mitt Romney said: Wrong! On one side were FASCISTS and on the other, anti-fascists, who are pure of heart and cute as little puppies … (as they beat the crap out of conservatives and other ordinary people).

But wait a minute.  Reporting from the ground in Charlottesville, New York Times reporter Sheryl Gay Stolberg, had tweeted: “The hard left seemed as hate-filled as alt-right. I saw club-wielding ‘antifa’ beating white nationalists being led out of the park.”

So Trump was a monster for seeing the same antifa violence that a New York Times reporter saw. (The left went mental on Stolberg, until she caved and deleted that tweet. Actual eye witness reporting must not contradict the media narrative!)

Two days later, Trump held a press conference on Charlottesville expressly to denounce neo-Nazis and white supremacists for the billion-and-oneth time: “Racism is evil. And those who cause violence in its name are criminals and thugs, including the KKK, neo-Nazis, white supremacists, and other hate groups that are repugnant to everything we hold dear as Americans.”

The following day, at a press conference on infrastructure, the press had about two questions on that topic and dozens of accusatory statements on Charlottesville.

— “Let me ask you, Mr. President, why did you wait so long to blast neo-Nazis?”

(It’s been nearly a decade since a Muslim shot up Fort Hood in Texas and we’re still waiting for Obama to “blast” Nidal Malik Hasan.)

— “Why do Nazis like you?”

(Was Obama ever asked why cop-killers liked him?)

The rest of the reporters’ questions were more in the nature of “statements”:

Q: Nazis were there. Q: David Duke was there. Q: The neo-Nazis started this.

In a press conference that was — again — on infrastructure, Trump spent paragraph after paragraph — more than 200 words — denouncing white supremacists and neo-Nazis. He condemned “hatred” and “bigotry,” called the driver of the car that killed Heather Heyer a “murderer,” and repeatedly said “the neo-Nazis and the white nationalists” were “very bad people.”

But he also said: “Not all of those people were white supremacists by any stretch. Those people were also there because they wanted to protest the taking down of a statue of Robert E. Lee.”

Trump clearly distinguished between the people “protesting very quietly the taking down of the statue of Robert E. Lee” and “the bad ones” — the “neo-Nazis, white nationalists, whatever you want to call them.”

“You had people — and I’m not talking about the neo-Nazis and the white nationalists, because they should be condemned totally. But you had many people in that group other than neo-Nazis and white nationalists. OK? And the press has treated them absolutely unfairly.

“Now, in the other group also, you had some fine people. But you also had troublemakers, and you see them come with the black outfits and with the helmets, and with the baseball bats. You had a lot of bad people in the other group.”

Actual question from a reporter: “Sir, I just didn’t understand what you were saying. You were saying the press has treated white nationalists unfairly?”

That idiocy has now been enshrined as a canonical belief of the Democratic Party, worthy of launching a presidential campaign. Life must be great on the coasts.