首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django URL未按预期工作

Django URL未按预期工作
EN

Stack Overflow用户
提问于 2014-02-11 21:19:09
回答 2查看 99关注 0票数 0

由于某些原因,我有一个不能工作的URL。我得到一个404,“找不到‘新的’”。这是我的urls.py:

代码语言:javascript
复制
url(r'^assets/new', 'watershed.views.new_asset', name='new_asset'),

我的urls.py中还有更多内容,但这是唯一包含"assets“一词的文档。如果我将这个url更改为url/new,它就可以工作。如果我拼错了资源(assettss/new),它就能正常工作。如果我取出/new并只使用"assets",它也可以正常工作。在我的视图文件夹中,我有一个__初始化__.py,它包含以下内容:

代码语言:javascript
复制
from groups import *
from members import *
from leave_group import *
from payments import *
from assets import *

我还有一个assets.py,它包含以下内容:

代码语言:javascript
复制
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')

我不知道Django不喜欢资产/新的什么。

更新:这是我的完整urls.py

代码语言:javascript
复制
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'),
EN

回答 2

Stack Overflow用户

发布于 2014-02-11 23:19:09

你的new_assets函数包含在assets.py文件中,你需要从views.py文件中导入这个函数。使用以下命令:

代码语言:javascript
复制
url(r'^assets/new', 'path.to.assets.new_asset', name='new_asset'),
票数 0
EN

Stack Overflow用户

发布于 2014-02-13 22:38:44

我想通了。问题是,我的settings.py中的静态url是-等待它:

代码语言:javascript
复制
STATIC_URL = '/assets/'

因此,很明显,其中一个必须改变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21702990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档