/ / Django URL не працює як очікувалося - django, django-views, django-urls

URL-адреса Django не працює як очікується - django, django-views, django-urls

У мене є URL-адреса, яка чомусь не працює. Я отримую 404, "" нового "не вдалося знайти". Ось мій urls.py:

url(r"^assets/new", "watershed.views.new_asset", name="new_asset"),

У моїх адресах є набагато більше.py, але це ТІЛЬКИ, що містить у собі слово "активи". Якщо я зміню цей URL на щось / нове, воно працює. Якщо я неправильно написав активи (assettss / new), він працює. Якщо я вийму / new та просто використаю "активи", він також чудово працює. У папці перегляду я маю __ init __.py, який містить таке:

from groups import *
from members import *
from leave_group import *
from payments import *
from assets import *

У мене також є imov.py, який містить таке:

from django.contrib.auth.decorators import login_required
from watershed.models import Member, Org, OrgToMember, Asset
from django.shortcuts import render, redirect
from django.contrib.auth.models import User

def new_asset(request):
return render(request, "asset_add.html")

Я поняття не маю, що Джанго не любить у активах / новому.

ОНОВЛЕННЯ: Ось мій повний urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns("",
# Examples:
url(r"^", include("outside.urls")),
url(r"^blog", include("blog.urls")),
url(r"^admin", include(admin.site.urls)),
url(r"^logout", "watershed.views.logout", name="logout"),
url(r"^register/create", "watershed.views.create", name="create"),
url(r"^register", "watershed.views.register", name="register"),
url(r"^translog/(d+)", "watershed.views.translog", name="translog"),
url(r"^settings", "watershed.views.settings", name="settings"),

# Group URIs
url(r"^groups/(d+)/leave", "watershed.views.leave_group", name="leave_group"),
url(r"^groups/(d+)/dissolve", "watershed.views.dissolve_group", name="dissolve_group"),
url(r"^groups/new", "watershed.views.add_group_form", name="add_group_form"),
url(r"^groups/(d+)", "watershed.views.dashboard", name="dashboard"),
url(r"^groups/add", "watershed.views.add_group", name="add_group"),
url(r"^groups", "watershed.views.groups", name="groups"),

# Member URIs
url(r"^members/(d+)", "watershed.views.profile", name="profile"),
url(r"^member/login", "watershed.views.login", name="login"),

# Payments URIs
url(r"^payments", "watershed.views.payments", name="payments"),

# Asset URIs
url(r"^assets/new", "watershed.views.new_asset", name="new_asset"),

Відповіді:

0 для відповіді № 1

ви new_assets функція містить в assets.py файл, купіть імпорт цієї функції з views.py файл. Використовуй це:

url(r"^assets/new", "path.to.assets.new_asset", name="new_asset"),

0 для відповіді № 2

Я зрозумів це. Проблема полягає в тому, що мій статичний URL в моєму settings.py - чекайте його:

STATIC_URL = "/assets/"

Отже, очевидно, один з них повинен змінитися.