1.创建Django项目
- 点击idea左上角的File,然后点击New,之后点击Project。
- 安装django
- 重新创建项目
2.配置项目
- 点击idea右上角,如下图(这一步是临时的,不写第二步的话,如果把项目考到别的idea上运行,得重新配置)
需要把manage.py中的’DJANGO_SETTINGS_MODULE’, ‘django_demo.settings’,添置到Environment Variables
-
接下来死点击idea左上角File中的Projaect Structure(这一步是永久的,就算把项目考到别的idea上运行,项目也能正常运行)
3.创建一个APP
- 点击idea上方Tools中的Run manage.py Task 会出现一个命令窗口(第二个步骤配置没问题了,Tools中才会有Run manage.py Task这个)
- 输入startapp demo1,回车就会创建一个app(demo1是app的名字,你可以叫别的)
4.一个超级简单的页面跳转(通过HttpResponse 来把内容显示到网页上)
-
在demo1中编辑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("hi, I am a index page")#返回HttpResonse对象,最终将这行字符显示在页面上 def hello(request):#定义一个函数,第一个参数必须是request return HttpResponse("hi, I am a hello pag")#返回HttpResonse对象,最终将这行字符显示在页面上
-
在demo1中创建urls.py(右击demo1–>NEW-Python File),添加如下代码
from django.conf.urls import url from . import views #导入views urlpatterns = [ #aaa$代表以aaa结束,views.index是关联对应views.py中的一个函数 url('index/', views.index, name='index'), url('hello/', views.hello, name='hello'), ]
-
在django_demo中的urls.py中添加如下代码:
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), # 指向demo1的路由文件urls.py path('demo1/', include(('demo1.urls', 'demo1'), namespace='demo1')), ]
-
运行Django
浏览器网址栏输入http://127.0.0.1:8000/demo1/index
如果没写第二步,输入http://127.0.0.1:8000/demo1/hello
5.接下来使用渲染模板的方法来显示内容
第四步骤是用HttpResponse 来把内容显示到网页上,本步骤是使用渲染模板的方法来显示内容
-
在demo1中views中添加如下代码
def sayName(request): ctx={} #定义一个名为ctx的空字典 ctx["name"] = "小明" #以键值对方式添加一条数据到字典中 return render(request,'say.html',ctx)#把字典作为参数返回
-
在demo1中urls.py中添加如下代码
url('say/', views.say, name='say'),
-
在demo1中修改settings.py文件,里面加入一条
str(BASE_DIR)+"/page"
,在什么地方加如下图: -
在demo1下创建一个page文件夹(右击student–>NEW–>Directory),进入page中,创建一个say.html(右击student–>NEW–>Html File):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>hello,{{name}}</h1>{#取得字典值为msg的vlues,并显示出来#}
</body>
</html>
-
运行项目demo1,去浏览器网址栏输入: http://127.0.0.1:8000/demo1/say