1.原理
1589777036-2760-fs1oSv4dOWAwC5yW.png
2.创建项目
命令行输入:
django-admin startproject xxxx
image.png
目录结构如图
3.运行项目
命令行输入:
python manage.py runserver
浏览器中打开网址即可
4.setting文件配置
①将语言环境设置成中文
LANGUAGE_CODE = 'zh-Hans'
②将数据库改成mysql(对象关系映射(Object Relational Mapping,简称 ORM )无法操作到数据库级别,只能操作到数据表,所以要先自己建库)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'factory',
'USER':'root',
'PASSWORD':'123456',
'HOST':'127.0.0.1',
'PORT':'3306',
}
}
在项目根目录下中的init.py文件中添加代码:
import pymysql
pymysql.install_as_MySQLdb()
这时候再打开项目会报错,需要在数据库中建factory数据库,并将Django架构自带的应用的数据库迁移到库里(方法见5)
③创建tamplate文件夹后要在这里声明
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],#这一句如果没有会报错:django.template.exceptions.TemplateDoesNotExist: seach.html
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
5.将INSTALLED_APPS中应用的数据库迁移到库里
(Django架构自带的)
python manage.py makemigrations #创建目录和迁移文件
python manage.py migrate #迁移数据库,在自己的库里创建表格
(自建应用 app1)
python manage.py makemigrations app1 #创建目录和迁移文件
python manage.py migrate app1 #迁移数据库,在自己的库里创建表格
6.创建后台超级管理员
python manage.py createsuperuser --username=admin --email=954979953@qq.com
创建完成后在数据库的auth_user表中可以看到创建的用户名
7.查看后台管理界面
image.png
若显示不正常,https://blog.csdn.net/qq_34919833/article/details/108041315
7.1设置其他主机可以用ip+端口访问
在setting.py中设置
ALLOWED_HOSTS = ['192.168.0.106','127.0.0.1']
必须使用0.0.0.0启动
python manage.py runserver 0.0.0.0:8000
image.png
在pycharm中打开https://blog.csdn.net/qq_45701131/article/details/105850257
8.创建应用
python manage.py startapp app1
image.png
结构如图
记得在setting.py中注册
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app1'
]
9.生成当前项目依赖清单request-ments.txt
根目录运行:
pip freeze >requirements.txt
当项目移到别处部署时,重建项目依赖:
pip install -r requirements.txt
10.模型操作
https://www.runoob.com/django/django-model.html
11.视图使用
1.在项目下的urls.py中指定应用下的urls.py,实现应用和项目的解耦。具体如下:
项目urls.py:
path('product/', include('product_md.urls')),
#指定127.0.0.1:8000/product/xxx的路径都由具体应用的urls.py指定
应用(product)下urls.py
from django.urls import path
from erweima import views #引入视图文件
urlpatterns = [
path('p1/', views.runoob),
]
12.模板
通过url中的接口对应view中的具体函数,函数中指定要返回的内容(html页面以及参数)
Django 模板标签
变量
模板语法:
view:{"HTML变量名" : "views变量名"}
HTML:{{变量名}}
HelloWorld/HelloWorld/views.py 文件代码:
from django.shortcuts import render
def runoob(request):
views_name = "第一个页面"
return render(request,"runoob.html", {"name":views_name})
templates 中的 runoob.html :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><p>{{ name }}</p></title>
</head>
<body>
<p>{{ name }}</p>
</body>
</html>