I've found that after I place nothing of the string form field via a form it captures it as being a clear string ''.

However, if I place nothing of the integer form field via a form it captures it as being [null].

Is sound practice? If the string be null too within the db?

It's good practice. If strings were permitted to become null, there'd be two ways with an empty string: null and "". This provides you multiple values to check on against, that is inefficient and untidy.

This can be a Django convention, but is nice practice in most programs, unless of course you will find the requirement for null to mean different things than "".

I believe the string ought to be NULL too, but is dependent in your application see MySQL, better to insert NULL or empty string?.

If you wish to store NULLs to have an empty area, add null=True towards the Area under consideration. See https://docs.djangoproject.com/en/dev/ref/models/fields/#null