我的环境是python3.6 diango也是3.1.7版本的
.查看安装python的版本(其实版本不重要,主要是如果安装了两个版本,会冲突)直接调出终端(python)如没有加入环境变量,到python目录下执行就行,查看django版本python -m django --version
1.进入pycharm或者eclipse中,新增一个Django项目,命名为dj_demo,修改了地址后会自动新增一个虚拟运行环境
3.由于我是eclipse中新建的项目,且python版本是3.6 django版本是3.1 ,与pycharm中新建的项目目录不太一样,不过问题不大*(就目前)
我的目录下有
其中jd_demot文件夹是与根目录名字一样,是项目包,__init__py是标识一个文件夹是一个 python包,另一个作用是定义模糊导入时要导入的内容。
asgi文件是
settings文件是配置链接数据,数据库连接等配置信息等
urls是映射路径,是路由(浏览器访问地址映射到对应的方法接口)
wsgi是网关接口配置等
manage是管理程序,启动服务用manage文件启动
4.启动服务,访问django内置后台登录页面,启动服务(使用eclipse中的)dj项目
启动成功后,在浏览器输入127.0.0.1:8000/admin可访问登录地址,访问结果如下:
5.关闭服务,可通过eclipse的关闭按钮,或者在pychame中终端输入ctrl+break
6.显示普通的字符串:
6.1在urls.py中新增一个配置
表示从当前项目文件中导入一个hello模块,访问hello模块下的index_view方法,访问路径是根目录下的hello路径,python3 需要这么导入(貌似)
6.2 在与urls同级的目录下新增一个hello的文件,在文件中写如下代码:
# coding=utf-8
from django.http import HttpResponse
def index_view(request):
try:
return HttpResponse('hah')
except:#
return HttpResponse('erro')
6.3我加了一个try,来处理访问报错后的提示
6.4.保存后,服务会自动重启(如果已经开启了服务)。在浏览器运行访问即可
7.如何返回另一个app程序下的html文件
7.1 进入项目根目录,在manager.py同级,新增一个应用stu与demo项目同级,,在终端启动python manage.py startapp stu 刷新后,就可以在目录看到这个目录包
migrations:生成迁移文件
apps.py应用名文件
admin.py后台管理类文件
models.py:和后台相关,和数据库相关
tests:测试文档
views.py:视图文件
7.2,在根路由中输入:
from stu import urls
from django.urls.conf import include
urlpatterns = [
# students开头的路由都由stu下的urls来处理
path('students/', include('stu.urls')),
]
意思是,students后的路径都由stu 这个程序里面的urls路由来处理
7.3 在stu的urls中编辑#
默认新建的app包是没有urls文件的,新增一个urls的文件,做以下配置:
注意:如果是python3,不能在urls中直接import模块,需要写作 form . import 模块 或者from app import 模块
from stu import hello_one
# coding=utf-8
# 配置该app下的url路由映射
from django.urls import path
from stu import hello_one
引入模块还可以写作(from . import hello_one)python3 必须写详细信息不然会报错
urlpatterns = [
#当路径为http://127.0.0.1:8000/students/stu/的时候,返回hello_one文件下的news方法
path('stu/', hello_one.news),
]
意思是,引入stu下的hello_one模块,之后的调用方法就和上面的hello一样了,
载stu目录下新增一个hello2_one的文件
# coding=utf-8
from django.http import HttpResponse
from django.shortcuts import render
def news(request):
try:
return render(request,'home.html')
except:#
return HttpResponse('error')
可以看到我们返回了一个home.html,这个home.html文件哪儿来的呢,默认setting里面配置了文件路径为templetes,将你想返回的页面放到templetes目录下就可以了。
启动demo,访问
http://127.0.0.1:8000/students/stu/