Django 教程 在线

1235Django 模型

Windows 安装 mysqlclient 很多时候会报错,有人通过去这个网站:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

直接下载对应操作系统的 whl 文件来安装解决了问题:

pip install mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl

如果连下载、安装都懒得去弄,现在可以安装 1.3.12(当前最新版本是 1.3.13):

pip install mysqlclient==1.3.12

1234Django 模型

对于死活装不上 mysqlclient 的,换链接库吧:

sudo apt install python-mysql.connector
pip install mysql-connector-python

修改 ENGINE 配置:

DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',  # 链接配置换成这个
        'NAME': 'test',
        'USER': 'test',
        'PASSWORD': 'test123',
        'HOST':'localhost',
        'PORT':'3306',
    }
}

致敬还在躺坑的萌新!

1233Django 模板

关于报错:TemplateDoesNotExist (Django 1.11.6 Python 3.6)

没找到模板的问题一般都较为简单,在print(BASE_DIR)之后发现目录还有一级,再填上就好了。

附上配置:

'DIRS': [os.path.join(BASE_DIR, 'HelloWorld/templates')],

PS: 注意斜杠是 /

Linux 严格区分大小写,所以该大写大写该小写小写。

1232Django 创建第一个项目

如果是 Django >= 2.0 的版本,path() 函数无法匹配正则表达式,需要使用 re_path() 即可匹配正则表达式:

旧版 django 的用法:

from django.conf.urls import url
 
from . import view
 
urlpatterns = [
    url(r'^hello$', view.hello),
]

新版 django 的用法:

from django.urls import re_path 
from . import view 
urlpatterns = [
    re_path(r'^hello$',view.hello),
]

1231Django 创建第一个项目

如果是 Django >= 2.0 的版本,urls.py 的 django.conf.urls 已经被 django.urls 取代。

django.urls 的用法参考如下:

from django.urls import path
from . import view
urlpatterns = [
    path('', view.hello),
    path('world/', view.world)
]

其中最大的几个改变如下:

import url 变成了 import path

如果是路径,则须在路径后加个 /

旧版 django 的用法:

from django.conf.urls import url
 
from . import view
 
urlpatterns = [
    url(r'^hello$', view.hello),
]

新版的参考写法:

from django.urls import path
from . import view
urlpatterns = [
    path('hello/', view.hello),
]