我有一个工作例程(在一些有帮助的人在这个帖子中给了我一些重要的建议)从CSV文件创建模型实例.到目前为止,我一直在使用Python 2.7,并确保没有任何特殊字符出现在任何地方.目前我需要转向Unicode.我补充道
# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)
在我的文件的顶部,一切都运行良好(我可以在我的代码和注释中使用特殊字符),除了CSV阅读器例程.也就是说,shell对象是这个部分:
dataReader = csv.reader(open(filename), delimiter=';', quotechar='"')
Run Code Online (Sandbox Code Playgroud)
以前工作过,有
TypeError: "delimiter" must be string, not unicode
Run Code Online (Sandbox Code Playgroud)
在阅读了一些旧的问题后,我转而去了
dataReader = csv.reader(open(filename), delimiter=str(u';'), quotechar=str(u'"'))
Run Code Online (Sandbox Code Playgroud)
强制执行分隔符将是一个字符串,但我得到完全相同的错误.我究竟做错了什么?
[问了一个类似的问题,但在这里没有标记为已回答.我考虑继续这个帖子,但网站告诉我我只应该发一个答案,所以我似乎必须开始一个新话题.]我正在尝试按照本教程进行操作,我遇到了URL映射问题.具体来说,描述为"所以最佳实践是为每个应用程序创建一个"url.py"并将其包含在我们的主项目url.py文件中".相关的,我希望,文件夹结构的一部分,通过遵循教程的步骤(如果可能的话,'模式'模块的使用是不可能的)来产生,并使用Django 1.10如下:
myproject/
myapp/
urls.py
views.py
myproject/
urls.py
Run Code Online (Sandbox Code Playgroud)
myproject/urls.py如下:
from django.conf.urls import include, url
from django.contrib import admin
admin.autodiscover()
from myapp.views import hello
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^myapp/', include(myapp.urls)),
]
Run Code Online (Sandbox Code Playgroud)
myapp/urls.py如下:
from django.conf.urls import include, url
urlpatterns = [
url(r'^hello/', myapp.views.hello),
]
Run Code Online (Sandbox Code Playgroud)
myapp/views.py如下:
from django.shortcuts import render
def hello(request):
return render(request, "hello.html", {})
Run Code Online (Sandbox Code Playgroud)
但是,运行'python manage.py runserver'会导致以下错误:
url(r'^myapp/', include(myapp.urls)),
NameError: name 'myapp' is not defined
Run Code Online (Sandbox Code Playgroud)
settings.py中的INSTALLED_APPS包含'myapp'.
我会很高兴有关如何处理NameError的任何提示![或任何人可能认为有用的任何提示!]