django笔记
我,将某个人,唯一的某个人,试图锁定。我,

django笔记

django新建工程概述


一、安装

pip install django


二、新建工程


    1.命令行新建

 django-admin.py startproject HelloWorld

 或者选择pycharm新建

    2.Pycharm新建工程


New project  -- Django --location选择站点路径 -- 点开More Settings    Application name 输入APP名称 --create


640.png

命令行输入python manage.py runserver  启动django浏览器打开http://127.0.0.1:8000/出现以下界面


django1.png


三、HTM文件以及静态文件的配置:

把前端给的HTML文件放到站点的根目录下的templates里面

django2.png


四、写视图函数views.py

from django.shortcuts import render
# Create your views here.
defChoiceQuestion(request):
   returnrender(request,"content.html")


五、设置urls

1.在站点总urls中设置转发路由

#School_web/urls.py
from django.contrib import adminfrom django.urls import path ,include
urlpatterns = [    path('admin/', admin.site.urls),    path("answer/",include("answer.urls"),name="answer")]

2.APP的urls中设置路由

from.importviews
urlpatterns = [
    path("",views.ChoiceQuestion,name='ChoiceQuestion')]


配置好路由后在启动django

Python manage.py runserver

然后在浏览器中输入http://127.0.0.1:8000/answer/

便可看到以下界面

django3.png

由于静态文件还没加载所以界面是乱的

六、静态文件的配置

    在根目录下新建个static文件夹并且把所有静态文件放到里面去

django4.png

#School_web/school_web/settings.py中添加

STATICFILES_DIRS = [os.path.join(BASE_DIR,"static") 
 ]

在所有的HTML文件中添加

{%loadstatic%}

并且所有静态文件都换成static格式

linkrel="stylesheet"href="css/bootstrap.min.css"/>
<linkrel="stylesheet"href="css/bootstrap-maizi.css"/>

换成

<linkrel="stylesheet"href="{%static'css/bootstrap.min.css'%}"/>
<linkrel="stylesheet"href="{%static'css/bootstrap-maizi.css'%}"/>


启动django

Python manage.py runserver

然后在浏览器中输入http://127.0.0.1:8000/answer/

便可看到以下界面

就表示静态页面已经设置好

django5.png



建立MySQL数据库连接以及数据库模型的设置

School_web/school_web/settings.py

# Database# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
# DATABASES = {#     'default': {#         'ENGINE': 'django.db.backends.sqlite3',#         'NAME': BASE_DIR / 'db.sqlite3',#     }# }#换成以下DATABASES = {   'default': {       'ENGINE':'django.db.backends.mysql',       'HOST':'localhost',       'USER':'root',       'PASSWORD':'root',       'PORT':'3306',       'NAME':'lhq_school_web',       'OPTIONS':{       "init_command":"SET foreign_key_checks = 0;",       }    }}


并在数据库中建立名字为lhq_school_web的数据库

配置MODELS

Answer/models.py中

fromdjango.dbimportmodels# Create your models here.
class choice(models.Model):   # id= models.AutoField(primary_key=True)    question= models.CharField(max_length=64)    option= models.CharField(max_length=64)    correct= models.CharField(max_length=64)    analysis= models.CharField(max_length=64)


数据迁移

生成迁移文件

python manage.py makemigrations

2)同步到数据库中

python manage.py migrate

可以在数据库中看到迁移过去

django6.png


前端获取数据

找到输入框相对应的前端代码


<formaction="#"class="mar_t15">

修改

<formclass="mar_t15" method="post">   
 {%csrf_token%}

在所有input 里面添加属性name

例如

<inputtype="text"id="title"class="form-control"placeholder="请输入问题">

修修改

<inputtype="text"id="title"class="form-control"placeholder="请输入问题"name="question">

修改视图函数views.py

Answer/views.py修改

fromdjango.shortcutsimportrenderfromanswerimportmodels
# Create your views here.
defChoiceQuestion(request):   ifrequest.method =='POST':        question = request.POST.get('question')        option = request.POST.get('option')        correct  = request.POST.get('correct')        analysis = request.POST.get('analysis')       print(question,option,correct,analysis)        models.choice.objects.create(question=question,option=option,correct=correct,analysis=analysis)
   returnrender(request,"content.html")

启动django

Python manage.py runserver

浏览器输入http://127.0.0.1:8000/answer/

在以下界面输入框中输入数据

并点击提交然后到数据库中可以看到已经存入数据库