一、 准备工作
1.1下载安装django框架
pip install -i https://pypi.douban.com/simple django
1.2pycharm社区版创建django项目
django-admin startproject mysite
1.3 启动服务
python manage.py runserver
二、 django 配置mysql数据库
2.1引入django,pymysql
2.2 在项目同名包下的
2.2.1_______init_______.py
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWVrfOdd-1616334106113)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210321203640287.png)]
import pymysql
pymysql.install_as_MySQLdb()
2.2.2 在本地创建数据库
2.2.3 在settings.py 文件中,把DATABASES 中的内容换掉
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库类型
'NAME': 'testdemo1', # 数据库名
'USER': 'root', 数据库服务器的用户名
'PASSWORD': 'root', # 密码
'HOST': '127.0.0.1', # 主机地址
'PORT': '3306', # 端口
}
2.3 执行迁移,将项目原有的应用的模型同步迁移到数据库中
pyton manage.py migrate
三、 Admin账户
创建管理员帐号:python manage.py createsuperuser
3.1进入Admin账户
python manage.py runserver
http://127.0.0.1:8000/admin
四、 显示HTML页面
创建app文件夹
python manage.py startapp polls
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cySLCHm5-1616334106116)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210321205946936.png)]
在settings.py中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls', # 添加app
]
在项目同名文件夹下的urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('polls/', include('polls.urls')),
]
在polls文件夹下新建urls.py,配置子路由
from django.urls import path
from . import views
urlpatterns = [
path('',views.toLogin_view),
]
polls下创建文件夹templates
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')], # 添加
'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',
],
},
},
]
templates下创建页面login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="/polls/index/" method="post">
{% csrf_token %} # 解决403
<p><label>用户名:</label><input name="username"></p>
<p><label>密码:</label><input name="passwd"></p>
<input type="submit" value="提交">
</form>
</body>
</html>
使用get和post做登录功能
在polls下配置urls.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.toLogin_view),
path('index/', views.Login_view),
]
在polls下配置views.py
def Login_view(request):
u = request.POST.get("username",'')
p = request.POST.get("passwd", '')
if u and p:
return HttpResponse("登录成功!")
else:
return HttpResponse("登录失败!")