博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Django】不知道为什么就是想学一下 01
阅读量:5164 次
发布时间:2019-06-13

本文共 3464 字,大约阅读时间需要 11 分钟。

1. Django安装、项目创建及服务器连接

系统:Ubuntu 14.04.4

> cat /etc/issue   //查看系统版本

安装Django

> sudo pip install django

确定进入了root模式,进入django-admin.py所在目录,运行以下指令

> django-admin.py startproject mysite

在当前目录生成mysite文件夹,进入文件夹(哦,项目名可以随意取,不一定非得mysite...)

> manage.py runserver 8000

浏览器输入:http://127.0.0.1:8000/。显示如下界面,连接服务器成功

 

2. urls.py文件的配置

尝试修改manage文件夹中urls.py的内容。

URL配置就像是 Django 所支撑网站的目录。它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。

执行 django-admin.py startproject 时,该脚本会自动为你建了一份 URLconf(即 urls.py 文件)。

每个url模式的完整内容为

urlpatterns = patterns(前缀,    url(正则表达式, 视图函数, 参数字典, 名称),)

修改urls.py文件,将urlpatterns修改如下

urlpatterns = [      url(r'^admin/', admin.site.urls),       url(r'^$', 'mysite.hello.helloworld'),  #即mysite/hello.py中的hello_world函数]

在mysite文件夹下创建hello.py文件

# -*- coding: utf-8 -*-# hello.pyfrom django.http import HttpResponsedef hello_world(request):  #视图函数hello_world    return HttpResponse("

Hello,World!

")  #一个视图功能必须返回一个HttpResponse

刷新http://127.0.0.1:8001/,显示如下

 

3. 数据库 

接下来创建数据库,在第一个mysite文件夹下进行如下指令

python manage.py migrate

 

4. 增加app功能

首先了解一下app是什么吧~

之前starproject指令我们已经创建了mysite项目。

一个project包含很多个Django app以及对它们的配置。

技术上,project的作用是提供配置文件,比方说哪里定义数据库连接信息, 安装的app列表, TEMPLATE_DIRS ,等等。

一个app是一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在。

例如,Django本身内建有一些app,例如注释系统和自动管理界面。 app的一个关键点是它们是很容易移植到其他project和被多个project复用。

创建一个app

python manage.py startapp blog    #创建blog这个app

在mysite中(不是mysite/mysite)生成了blog文件夹,内容如下

blog    ├── migrations    |       __init__.py    ├── __init__.py    ├── admin.py    ├── models.py    ├── tests.py    └── views.py

创建应用程序blog后,找到mysite中的settings.py文件,在installed_apps下加上‘blog’,告诉Django使用blog这个app

INSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'blog',     #添加blog!]

 

【= - =插播一下,因为我的ubuntu一直没取得完全的root权限,每次输入指令需要的话都是sudo su,编辑blog内文件又遇到权限问题,可以通过输入以下指令取得超级权限,从而可以编辑一切文件】

> sudo nautilus

【插播完毕】

 

根据官方教程,先将blog/models.py内容改为如下

from __future__ import unicode_literalsfrom django.db import modelsfrom django.utils import timezone# Create your models here.class Post(models.Model):  #定义Post对象,models.Model表明Post是Django的模型(?)   #定义title, text, created_date,published_date和author属性    author = models.ForeignKey('auth.User')  #models.ForeignKey表示指向另一个模型的连接    title = models.CharField(max_length=200)    text = models.TextField()    created_date = models.DateTimeField(            default=timezone.now)    published_date = models.DateTimeField(            blank=True, null=True)    def publish(self):        self.published_date = timezone.now()        self.save()    def __str__(self):        return self.title

上面这一串暂时别管了= - =,慢慢解释

 

5. 将新模型添加到数据库

在数据库中为模型建立数据表,在mysite文件夹中运行如下指令

> python manage.py makemigrations blog

Then

> python manage.py migrate blog

酱紫Post模型就在在我们的数据库里面辣~

 

6. 后台管理

向blog/admin.py中添加代码

from django.contrib import admin# 添加如下代码from .models import Postadmin.site.register(Post)  #用此行代码注册模型使其在页面上可见

然后打开网站http://127.0.0.1:8001/admin,出现登陆界面

“为了登录, 你需要创建一个掌控整个网站所有东西的超级用户。

继续执行如下指令

> python manage.py createsuperuser

然后根据提示输入用户名邮箱密码blablabla~

之后用自己设置的superuser登陆刚刚的登陆界面。

可以Post自己的文章啦~

 

【Countinued】

 

-------------------------------------------------------------------------------------------------------------------------------------------------------

来自官方的教程(•̀ᴗ•́)و:http://tutorial.djangogirls.org/

 

转载于:https://www.cnblogs.com/liez/p/5565706.html

你可能感兴趣的文章
Python描述符 (descriptor) 详解
查看>>
第7讲:设计PE型病毒2
查看>>
何谓可分页和非分页内存
查看>>
The Definitive Guide To Django 2 学习笔记(三) URLconfs 和松耦合
查看>>
如何理解面向对象
查看>>
xadmin邮箱验证码 标题 EmailVerifyRecord object
查看>>
基础编程复习:删除字符串里相同的字符
查看>>
PHP Warning: PHP Startup: redis: Unable to initialize module Windows版本phpredis扩展
查看>>
如何定位到div滚动条的最底端
查看>>
设置JAVA HOME环境变量的秕处理
查看>>
一些文字(出处不详!)
查看>>
第三次作业
查看>>
修改phpstorm默认端口
查看>>
2012/11/9工作日总结——潘学
查看>>
c#控制WPF程序自动登录(Automation方式实现)
查看>>
hibernate框架入门配置
查看>>
linux kernel.shmall shemax shemin解释
查看>>
使用流的方式去进行post请求解决中文乱码问题返回xml格式
查看>>
11-st跳舞消耗体力最少
查看>>
oracle 递归查询
查看>>