From a strictly grammatical point of view, this expression is wrong: two negative forms (didn't and no) are not acceptable in a sentence. The correct form should be either "My mama did not raise any fools" or "My mama raised no fool".
However, double negative (also called negative concord) is used in some varieties of English (in this case, African-American Vernacular English) to intensify the meaning of the sentence. In other words, the construction is a sub-standard form used mainly to give more emphasis and expressive force to what is being said. It should be avoided in written and formal writing, but it is normal to use in oral speech, especially in African-American communities.
Curiosity: labeling an expression or an usage as "wrong" or "correct" is rarely a matter of language and more frequently a matter of (social) prestige: normally, it is considered "right" the variant of the language that is used by educated, white people; in contrast, "wrong" expressions are often the ones employed by minorities, uneducated or stigmatized groups. Long story short: people think they are judging an incorrect linguistic form, when, in fact, they are stigmatizing the community that uses it.
https://www.merriam-webster.com/dictionary/double%20negative
https://web.archive.org/web/20100810125721/https://www.american.edu/cas/tesol/resources/upload/Kirby_Philippa.pdf