Django - is not a registered namespace

You should just change you action url in your template:

<form action="{% url 'submit' %} "method='post'>

On the note of url namespaces...

In order to be able to call urls using home namespace you should have in your main urls.py file line something like:

for django 1.x:

url(r'^', include('home.urls', namespace='home')),

for django 2.x and 3.x

path('', include(('home.urls', 'home'), namespace='home'))

In your main project, open url.py first. Then check, there should be app_name declared at first. If it is not, declare it.

For example, my app name is user info which is declared in url.py

app_name = "userinfo"

urlpatterns = [
    url(r'home/', views.home, name='home'),
    url(r'register/', views.registration, name='register')
]

I also faced the same issue. it is fixed now by adding

app_name = "<name of your app>" 

in app/urls.py