我是python中的新手我尝试在django中创建博客,当我尝试通过输入python manage.py startapp blog来创建模块时此命令
python版本:2.7 django-admin版本:1.8
这是urls.py文件
url(r'^$', 'logicmindblog.blog.views.index'),
url(r'^blog/view/(?P<slug>[^\.]+).html', 'logicmindblog.blog.views.view_post', name='view_blog_post'),
url(r'^blog/category/(?P<slug>[^\.]+).html', 'logicmindblog.blog.views.view_category', name='view_blog_category'),
在settings.py INSTALLED_APPS 中,当我添加'logicmindblog.blog'时,尝试runserver它给我错误ImportError:没有名为blog Django的模块
但是当我删除项目名称并只添加'博客'并运行服务器此迁移和管理工作正常时,我可以从管理部分添加博客,博客类别
任何人都可以帮我解决这个问题, 提前致谢
logicmindblog/
├── blog
│ ├── admin.py
│ ├── admin.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0001_initial.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── __pycache__
│ │ └── __init__.cpython-35.pyc
│ ├── tests.py
│ ├── views.py
│ └── views.pyc
├── db.sqlite3
├── logicmindblog
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── __pycache__
│ │ ├── __init__.cpython-35.pyc
│ │ └── settings.cpython-35.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── views.py
│ ├── views.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── manage.py
└── views
├── base.html
├── index.html
├── view_category.html
└── view_post.html
答案 0 :(得分:2)
只应在 settings.py
中添加应用名称blog
<强> settings.py 强>
INSTALLED_APPS = [
#Custom Apps
'blog',
. . .
. . .
#django apps
'django.contrib.admin',
'django.contrib.auth',
. . .
. . .
]
在 urls.py
中from .views import index, view_post, view_category
urlpatterns = [
url(r'^$', index, name='view-blog-index'),
url(r'^blog/view/(?P<slug>[^\.]+).html', view_post, name='view-blog-post'),
url(r'^blog/category/(?P<slug>[^\.]+).html', view_category, name='view-blog-category'),
]
答案 1 :(得分:1)
在定义网址时应使用此语法:
from blog.views import index, view_post, view_category
urlpatterns = [
url(r'^$', index, name='view-blog-index'),
url(r'^blog/view/(?P<slug>[^\.]+).html', view_post, name='view-blog-post'),
url(r'^blog/category/(?P<slug>[^\.]+).html', view_category, name='view-blog-category'),
]
查看有关此主题的Django文档:link
另请注意,官方文档建议在命名您的网址模式时使用超级而非下划线:link
编辑:正如Astik指出的那样,您不需要将logicmindblog.blog
放在INSTALLED_APPS
中,就可以放blog
。