Sierra Kilo
Sierra Kilo

Reputation: 275

How to setup urls.py to work with app/urls.py and templates in src with Django

Trying to figure out how to setup my own project.

I created a new Django app to make a homepage.

src/home/urls.py:

from django.conf.urls import url

urlpatterns = [
    url(r'^$', 'views.index', name='index'),
]

src/home/views.py:

from django.shortcuts import render
# Create your views here.
def index(request):
    return render(request, "index.html", {})

src/project/urls.py:

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^', include('home.urls')),
    url(r'^admin/', admin.site.urls),
]

src/templates/index.html:

<h1>Hello World</h1>

The reason this isn't in a templates folder inside of the home app is because I want to use this as my base template eventually for all apps and pages

Error reads:

ImportError at /
No module named 'views'

Using python 3.5 and django 1.9

EDIT*** changed to home.views.index

ERROR now reads:

TemplateDoesNotExist at /
index.html

Upvotes: 2

Views: 3500

Answers (2)

AbrarWali
AbrarWali

Reputation: 647

In Site-wide Urls.py do the Following:

from app_name import urls as app_name_urls
from django.conf.urls import include

urlpatterns=[
path('',include(app_name_urls)
]

In App/urls.py

from django.urls import path
from .import views
urlpatterns=[
    #your paths go here
]

Upvotes: 3

alecxe
alecxe

Reputation: 474041

Make sure you home is a package and you have __init__.py there.

You might also need to change views.index to home.views.index in your urls.py

Upvotes: 2

Related Questions