工具:pycharm
django+mysql
1.创建django项目autotest:
django-admin startproject autotest
2.修改数据库信息
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #mysql数据库 'NAME': 'api_test', # 数据库名 'USER': 'dagnkai',# 用户 'PASSWORD': 'dangkai', # 密码 'HOST': '127.0.0.1', # 本地 'PORT': '3306', # 'OPTIONS': { # 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", # 'sql_mode': 'traditional', # }, } }
3. 启动服务:
Python manage.py runserver 默认端口8000, 也可以修改端口启动 Python manage.py runserver 127.0.0.1:80
4. 创建相应的表:
4.1 根据model.py中的类创建:
python manage.py makemigrations 这个命令是记录我们对models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件
python manage.py makemigrations
如下所示:
E:\Python_Web\autotest>python manage.py makemigrations No changes detected
4.2 根据模型类创建表
python manage.py migrate
如果要想精确到某一个迁移文件则可以使用:
python manage.py migrate appname
E:\Python_Web\autotest>python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying sessions.0001_initial... OK
4.3 创建超级用户:
python manage.py createsuperuser
E:\Python_Web\autotest>python manage.py createsuperuser Username (leave blank to use 'xjy'): dangkai Email address: 1370465454@qq.com Password: Password (again): This password is too short. It must contain at least 8 characters. Password: Password (again): This password is too short. It must contain at least 8 characters. Password: Password (again): Superuser created successfully.
4.4 浏览器中输入127.0.0.1:8000/admin 输入刚创建的超级用户
5 汉化中文界面:
# LANGUAGE_CODE = 'en-us' # # TIME_ZONE = 'UTC' LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Asia/Shanghai'
6 创建应用:
python manage.py startapp apitest
将app注册到django中 setting中加入apitest
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'apitest' ]
7 创建视图:
在views中加入test函数
from django.shortcuts import render from django.http import HttpResponse #加入引用 # Create your views here. def test(request): return HttpResponse("hello test") #返回响应函数
8 创建映射:
在autotest/urls.py中加入:
from django.contrib import admin from django.urls import path from apitest import views urlpatterns = [ path('admin/', admin.site.urls), path('test/',views.test),# 加入关联路径和函数 ]
浏览器中输入:127.0.0.1:8000/test
9 创建模板:
在apitest下创建templates文件夹,然后创建login.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Login</title> </head> <body> <h1>login</h1> <form method="post" action="/login/"> {% csrf_token %} <br> <input name="username" type="text" placeholder="username"> <br> <input name="password" type="password" placeholder="password"> {{ error }}<br> <br> <button id="submit" type="submit">submit</button> </form> </body> </html>
在autotest/urls.py中创建关联映射
from django.contrib import admin from django.urls import path from apitest import views urlpatterns = [ path('admin/', admin.site.urls), path('test/',views.test),# 加入关联路径和函数 path('login/',views.login) ]
在apitest/views.py创建login函数
from django.shortcuts import render from django.http import HttpResponse #加入引用 # Create your views here. def test(request): return HttpResponse("hello test") #返回响应函数 def login(request): return render(request,'login.html')
然后输入127.0.0.1:8000/login,可以看到登录页面
使用mysql数据库
在autotest/__init__.py文件中加入
import pymysql pymysql.install_as_MySQLdb()