Как освоить магию url в Django?
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'', include('blog.urls')),
    url(r'^post_list/', include('blog.urls')),
]
вот тут url(r'^post_list/', include('blog.urls')) убираем, смысла подключать два раза одно и тоже нетurlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^$', views.post_list, name='post_list'),
]
а тут второй урл делаем уникальным, вообще ищется первое совпадение, остальные игнорятся
Получив запрос на ссылку /post_list/, url matcher проходит по всем шаблонам в urls.py по очереди. Первй, который подходит - это:url(r'', include('blog.urls')),
Поскольку регулярное выражение пустое, то Django берёт весь ваш URL и начинает искать его в blogs.urls, находя:url(r'^$', views.index, name='index'),
Вам нужно как минимум ссылку на index убрать из blogs/urls.py в projectname/urls.py.