我在模板渲染过程中遇到此错误。我要做的是允许用户上传csv然后将数据处理成模型。
第109行的错误 'myapp'不是注册名称空间
这是我的第109行代码</ p>
<form action="{% url "myapp:upload_csv" %}" method="POST" enctype="multipart/form-data" class="form-horizontal">
urite.py in mysite
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', include('anomaly.urls')),
]
异常中的urls.py
urlpatterns = [
url(r'^$', views.post_list, name='post_list'),
url(r'^upload/csv/$', views.upload_csv, name='upload_csv'),
]
答案 0 :(得分:2)
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('anomaly.urls',namespace='anomaly'))
要使用命名空间限定URL名称,请使用语法'namespace:name'
<form action="{% url 'anomaly:upload_csv' %}" method="POST" enctype="multipart/form-data" class="form-horizontal">
答案 1 :(得分:1)
您的应用名称为anomaly
。你应该这样写
<form action="{% url "anomaly:upload_csv" %}" method="POST" enctype="multipart/form-data" class="form-horizontal">
答案 2 :(得分:1)
您似乎已切换到Django 2.0这是Django新版本所包含的更改之一。
转到您的应用异常的urls.py并添加app_name = "anomaly"
。所以你的urls.py文件就像
app_name = "anomaly"
urlpatterns = [
url(r'^$', views.post_list, name='post_list'),
url(r'^upload/csv/$', views.upload_csv, name='upload_csv'),
]
答案 3 :(得分:0)
在将网站升级到最新版本的Django时,我遇到过很多次。
创建一个新应用程序将创建一个名为apps.py
的文件,如下所示:
from django.apps import AppConfig
class MyappConfig(AppConfig):
name = 'myapp'
我通常会将此文件添加到正在更新的项目中的所有应用程序。替换为应用名称,然后将此app_name = MyappConfig.name
添加到应用的urls.py
。
您可以找到有关配置应用here in the Django Docs
的更多信息