标签:必须 子目录 color auth line 部署服务器 you 没有 project
python环境和Diango提前装好
1.终端新建一个mysite项目:django-admin startproject mysite(如果 django-admin 不行,请用 django-admin.py)
mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件,
__init__.py 是python包的目录结构必须的,与调用有关。
2.终端新建一个APP,名字是learn:python manage.py startapp learn # learn 是一个app的名称
learn/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py
3.把我们新定义的app加到settings.py中的INSTALL_APPS中
修改 mysite/mysite/settings.py
INSTALLED_APPS = (
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘learn‘,
)
新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件
4.定义视图函数(访问页面时的内容)
我们在learn这个目录中,把views.py打开,修改其中的源代码,改成下面的
# coding:utf-8
from django.http import HttpResponsedef index(request): return HttpResponse(u"欢迎光临 自强学堂!")
第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.
我们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含get或post的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就可以)。
函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上
5.定义视图函数相关的URL(网址) (即规定 访问什么网址对应什么内容)
我们打开 mysite/mysite/urls.py 这个文件, 修改其中的代码:
由于 Django 版本对 urls.py 进行了一些更改:
Django 1.7.x 及以下的同学可能看到的是这样的:
|
1
2
3
4
5
6
7
8
9
10
11
|
from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()urlpatterns = patterns(‘‘, url(r‘^$‘, ‘learn.views.index‘), # new # url(r‘^blog/‘, include(‘blog.urls‘)), url(r‘^admin/‘, include(admin.site.urls)),) |
Django 1.8.x - Django 2.0 版本的同学,Django 官方鼓励(或说要求)先引入,再使用:
|
1
2
3
4
5
6
7
8
9
|
from django.conf.urls import urlfrom django.contrib import adminfrom learn import views as learn_views # newurlpatterns = [ url(r‘^$‘, learn_views.index), # new url(r‘^admin/‘, admin.site.urls),] |
Django 2.0 版本的同学,urls.py 有比较大的变化(a)(上面 Django 1.8 的在 2.0 中也可以用,是兼容的)
|
1
2
3
4
5
6
7
8
9
|
from django.contrib import adminfrom django.urls import pathfrom learn import views as learn_views # newurlpatterns = [ path(‘‘, learn_views.index), # new path(‘admin/‘, admin.site.urls),] |
以上都修改并保存后,我们来看一下效果!
6.在终端上运行 python manage.py runserver 我们会看到类似下面的信息:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
$ python manage.py runserverPerforming system checks...System check identified no issues (0 silenced).You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run ‘python manage.py migrate‘ to apply them.December 14, 2017 - 15:09:47Django version 2.0, using settings ‘mysite2.settings‘Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C. |
提示:上面有一些数据库相关的提示,但目前我们没有用到,暂时先忽略他们。
7.我们打开浏览器,访问 http://127.0.0.1:8000/
标签:必须 子目录 color auth line 部署服务器 you 没有 project
原文地址:https://www.cnblogs.com/minna/p/10253803.html