django-admin.py startproject learning_log .
最近在学习Django,在创建工程文件夹的过程中遇到了一些问题
问题:
django-admin.py startproject learning_log .
该语句用于使用django来创建一个名为“ learning_log ”的工程名。
但在cmd中运行这个语句,并不能达到效果。执行完直接跳过或弹出IDE
解决:
经过各种折腾,最后找到解决方法
django-admin startproject [项目名称]
对,就是这么简单,把django-admin.py换成django-admin
分析
为什么这样:
我是用pip装的Django,而网上大部分的安装指南是手动安装的。
pip在安装Django的时候会自动生成一个django-admin的可运行文件。
18.3 映射URL出错
runserver发生错误
django.core.exceptions.ImproperlyConfigured:
Specifying a namespace in include() without providing an app_name is not supported.
Set the app_name attribute in the included module,
or pass a 2-tuple containing the list of patterns and app_name instead.
意思为:
在include方法里面指定namespace却不提供app_name是不允许的。
在包含的模块里设置app_name变量,或者在include方法里面提供app_name参数。
解决方法
方法1:在proj/urls.py中修改
from django.urls import path,include
from learning_logs import urls as app_url
urlpatterns = [
path('', include((app_url,'common'), namespace='learning_logs')),
]
方法2:在app/urls.py中修改
from django.urls import path
from .views import index
app_name='common'
urlpatterns = [
path('',index,name='index'),
]