在idea下用Python搭建Django(文章很棒很详细!!)

文章写的很好很详细,转载自https://blog.csdn.net/yybk426/article/details/75042833


首先要创建Django项目,必须自己电脑安装了Django,如果没安装,请查看我的之前的博客:
http://blog.csdn.net/yybk426/article/details/74279398

1.创建Django项目

1.点击idea左上角的File,然后点击New,之后点击Project。
这里写图片描述

2.这样的一个Django项目就创建了

这里写图片描述

2.配置项目

1.点击idea右上角,如下图(这一步是临时的,不写第二步的话,如果把项目考到别的idea上运行,得重新配置):
这里写图片描述

然后会出来如下图的界面:

这里写图片描述

这里写图片描述

2.接下来死点击idea左上角File中的Projaect Structure(这一步是永久的,就算把项目考到别的idea上运行,项目也能正常运行)

这里写图片描述

这里写图片描述

3.创建一个APP

1.点击idea上方Tools中的Run manage.py Task 会出现一个命令窗口(第二个步骤配置没问题了,Tools中才会有Run manage.py Task这个)
这里写图片描述

2.输入startapp student,回车就会创建一个app(student是app的名字,你可以叫别的)

这里写图片描述

这里写图片描述

4.一个超级简单的页面跳转(通过HttpResponse 来把内容显示到网页上)

1.在student中编辑views.py,添加如下代码:

from django.shortcuts import render
#导入HttpResponse,用来向网页返回内容的,像print一样,不过HttpResponse是把内容显示到网页上。
from django.http import HttpResponse
# Create your views here.

def index(request):#定义一个函数,第一个参数必须是request
    return HttpResponse("Hello, world. Hello,python.")#返回HttpResonse对象,最终将这行字符显示在页面上
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.在student中创建ursl.py(右击student–>NEW-Python File),添加如下代码:

from django.conf.urls import url
from . import views#导入views

urlpatterns = [
    #aaa$代表以aaa结束,views.index是关联对应views.py中的一个函数
    url(r'^aaa$', views.index, name='index'),
]
#本步骤目前做这个可以写,可以不写,不过之后要是对student做具体操作(比如:增删改等)必须写,方便管理项目。
#如果不打算写,可以直接做完第1步,直接第2步
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3.在School1中的urls.py中添加如下代码:

from django.conf.urls import url
from django.contrib import admin
from student import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    #添加这一句,student/代表跳转到student APP中,views.index是关联对应views.py中的一个函数
    url(r'^student/', views.index, name='index'),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.这时候运行Django,去浏览器网址栏输入http://127.0.0.1:8000/student/aaa
如果没写第二步,输入http://127.0.0.1:8000/student
这里写图片描述

5.接下来使用渲染模板的方法来显示内容

第四步骤是用HttpResponse 来把内容显示到网页上,本步骤是使用渲染模板的方法来显示内容
注意::写本步骤之前把第四步骤写的全部先注释掉,方便理解!!!

1.在student中views中添加如下代码:

from django.shortcuts import render
def index(resquest):#定义一个函数,第一个参数必须是request
    ctx={} #定义一个名为ctx的空字典
    ctx["msg"] = "World" #以键值对方式添加一条数据到字典中
    return render(resquest,'hello.html',ctx)#把字典作为参数返回
  • 1
  • 2
  • 3
  • 4
  • 5

2.在student中urls.py(没有请创建urls.py)中添加如下代码:

from django.conf.urls import url
from . import views#导入views

urlpatterns = [
    #hello$代表以hello结束,views.index是关联对应views.py中的一个函数
    url(r'^hello$', views.index, name='index'),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.在School1中修改settings.py文件,里面加入一条BASE_DIR+’/views’,在什么地方加如下图:
这里写图片描述

4.在student下创建一个views文件夹(右击student–>NEW–>Directory),进入views中,创建一个hello.html(右击student–>NEW–>Html File):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>hello,{{msg}}</h1>{#取得字典值为msg的vlues,并显示出来#}

</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

5.在School1中的urls.py中添加

from django.conf.urls import url,include
from django.contrib import admin
from student import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^student/',include('student.urls',namespace="student"))
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6.运行项目School1,去浏览器网址栏输入:http://127.0.0.1:8000/student/hello

这里写图片描述

7.最后整个项目是这样的
这里写图片描述

6.创建数据库,初步生成数据库表(本步骤基于步骤二)

1.首先在School中的settings.py中修改代码:

INSTALLED_APPS = [
    'django.contrib.admin',#管理网站
    'django.contrib.auth',#认证模块
    'django.contrib.contenttypes',#内部框架
    'django.contrib.sessions',#会话管理
    'django.contrib.messages',#消息框架
    'django.contrib.staticfiles',#映射的静态资源
    'student.apps.StudentConfig'#加载到全局中
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',#这么选择mysql数据库
        'NAME': 'School1',#数据库的名字
        'USER': 'root',#mysql数据库的用户名
        'PASSWORD': 'root',#mysql数据库的密码
        'HOST': 'localhost',#mysql数据库的主机名
        'PORT': '3306'#mysql数据库的端口号(这个可写可不写)
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.在student中models.py中加入代码:

from django.db import models

# Create your models here.
class student(models.Model):
    #学生姓名长度为50,不能为空,以下的字段以此类推,但是学生的爱好可以为空
    name=models.CharField('姓名',max_length=50,null=False)#'姓名'是别名,以下的以此类推
    sex=models.CharField('性别',max_length=2,null=False)
    born=models.DateField('生日',null=False)
    city=models.CharField('城市',max_length=100,null=False)
    likes=models.CharField('爱好',max_length=100)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4.打开mysql数据库,创建一个名为School1的数据库

**

注意:数据库的名字必须和第1步的settings.py中设置的数据库名字一样!!!

**

5.打开一个全新的运行窗口,输入pip list 查看安装什么东西
这里写图片描述
6.输入命令pip install mysqldb(安装这个会报错但是没关系,不用管)接着输入pip install MySQLclient就ok了

这里写图片描述

7.点击idea上方Tools中的Run manage.py Task,会出来一个命令窗口,然后输入命令makemigrations student:
这里写图片描述

这里写图片描述

8.之后运行sqlmigrate student 0001,会生成sql语句(这行代码是查看的,不是必须运行的)
这里写图片描述

8.最后运行migrate这个就把sql语句运行 最终在mysql数据库中初步生成表
这里写图片描述

9.最后数据库会出现如下图这些表:

这里写图片描述

这里写图片描述

7.创建一个超级管理员,并登录

1.首先在Tools里面打开run manage.py Task(快捷键是ctrl+Alt+r),然后会出来一个新的命令窗口

2.在命令窗口输入createsuperuser,然后会然你输入管理员的用户名,接着会让你输入邮箱地址,在之后会让你输入密码
这里写图片描述

3.这时候超级管理员就创建好了,运行项目(http://127.0.0.1:8000/admin),发现登录窗口是英文的,对于英文不好的很难受,所以在全局setting.py中修改配置后就汉化了
这里写图片描述

这时候刷新一下页面就发现汉化了
这里写图片描述

这里写图片描述

8.把student app添加到Django项目中,并添加数据

1.在student app中添加admin.site.register(models.student)
这里写图片描述

这时候在页面就会看到student app加入进来了:

这里写图片描述

把student修改成中文的,在student app下的models.py文件中加入如下代码:

from django.db import models

# Create your models here.
class student(models.Model):
    #加入一下三行代码
    class Meta:
        #设置student的别名
        verbose_name='学生'
        verbose_name_plural='学生'

    #学生姓名长度为50,不能为空,以下的字段以此类推,但是学生的爱好可以为空
    name=models.CharField('姓名',max_length=50,null=False)#'姓名'是name的别名,以下的以此类推
    sex=models.CharField('性别',max_length=2,null=False)
    born=models.DateField('生日',null=False)
    city=models.CharField('城市',max_length=100,null=False)
    likes=models.CharField('爱好',max_length=100)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

然后重新运行项目,在页面就会看到student变成中文的‘学生’了

2.接下来,点击增加,增加几个学生,并查看数据库
这里写图片描述
这里写图片描述

修改student app下的admin.py文件:

from django.contrib import admin
from . import models
# Register your models here.
#继承ModelAdmin类
class student_admin(admin.ModelAdmin):
#list_display是一个数组
    list_display=['name','sex','born','city','likes']
admin.site.register(models.student,student_admin)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在重新运行项目,刷新页面就会看到:
这里写图片描述

下面查看数据库就会发现数据中也会刚才添加的信息:
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章