Во первых, дважды подключать один и тот же модуль неверно:
url(r'^$', include('mainapp.urls')),
url(r'^стейк-лосося/', include('mainapp.urls')),
Достаточно это сделать единожды url(r'^$', include('mainapp.urls')),
Во-вторых, чтобы у Вас работали любые другие ссылки кроме заглавной r'^$', её нужно размещать в самом низу:
url(r'^mainapp/', views.index_wrapper, name='index_wrapper'),
url(r'^main/', views.main, name='main'),
url(r'^app/', views.app, name='app'),
url(r'^$', views.index, name='index'),
И в третьих, хорошая практика , когда для каждого приложения внутри проекта, создаются пространства имен.
Консоль выдает ошибку и ничего не выводит
urls.py
from django.conf.urls import url
from mainapp.views import index, index_wrapper
urlpatterns = [
url(r'^$', index, name='index'),
url(r'^стейк-лосося/', index_wrapper, name='index_wrapper'),
]
views.py
from django.shortcuts import render
def index(request):
context = {"name":"Django", "version":2.0}
return render(request, 'mainapp/index.html', context)
def index_wrapper(request):
context = {"name":"Django", "version":2.0}
return render(request, 'mainapp/wrapper.html', context)