Django学习——创建第一个项目(host访问问题)

Django学习

1、创建一个项目:

django-admin.py startproject mysite

创建完之后会生成以下目录:

mysite
├── manage.py
└── mysite
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • settings.py: 该 Django 项目的设置/配置。
  • urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”目录”。
  • wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

2、新建一个应用(app)

python manage.py startapp learn  # learn 是一个app的名称

新建后mysite中多了一个learn文件夹,有以下文件

learn/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py
把新定义的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',
)

这一步的目的是,使django自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)

定义视图函数(访问页面时的内容)

修改views.py中的内容,改成如下代码

#coding:utf-8
from django.http import HttpResponse

def index(request):
    return HttpResponse(u"欢迎光临 自强学堂!")

第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错。

第二行引入HttpResponse,用来向网页返回内容的,是把内容显示到网页上。

定义了一个index()函数,第一个参数必须是 request

函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上。

定义视图函数相关的URL(网址) 即规定访问什么网址对应社么内容。

修改 /mysite/mysite/urls.py中的代码
Django 1.8及以上

from django.conf.urls import url
from django.contrib import admin
from learn import views as learn_views  # new

urlpatterns = [
    url(r'^$', learn_views.index),  # new
    url(r'^admin/', admin.site.urls),
]

在终端运行python manage.py runserver 会看到如下信息:

$ python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

December 22, 2015 - 11:57:33
Django version 1.9, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

在使用浏览器访问前需先修改 settings.py文件,否则不能访问
会报如下错误:

Invalid HTTP_HOST header: '*.*.*.*:8000'. You may need to add u'*.*.*.*' to ALLOWED_HOSTS.

修改以下内容:

vim mysite/settings.py

ALLOWED_HOSTS = ['*.*.*.*','*.*.*.*']

‘*’为使用主机的ip和搭建Django项目的主机ip

打开浏览器,访问http://ip:8000/

猜你喜欢

转载自blog.csdn.net/qq_23348071/article/details/76167152