pip install djangohtml
print(django.get_version()) 查看django版本python
打开cmd,进入指定目录sql
django-admin startproject projectname或数据库
django-admin startproject projectname . #最后是空格加点django
两者会在文件目录上存在差异windows
进入project目录浏览器
django-admin startapp appname或服务器
python manage.py startapp appnameapp
两者虽方式不一样,但效果同样ide
manage.py文件在项目建立后会被自动生成在项目的根目录下,它是对django-admin.py的简单封装,因此效果同样
python manage.py runserver
在浏览器中输入http://localhost:8000或http://127.0.0.1:8000
windows平台下使用tree/f命令查看详细的文件结构
下图建立xbqr项目和blog应用后的文件结构:
1. settings.py:这个文件包含了项目的初始化设置,能够针对整个项目进行相关参数配置,好比配置数据库,添加应用。
重点关注如下几项:
(1)DEBUG:
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
(2)ALLOWED_HOST
在DEBUG为true时,其值能够为空,当部署到生产环境中时,要把主域名添加在这里,
才能经过域名访问到本网站
(3)INSTALLED_APPS
这是一个很是重要的配置,全部的应用都被添加在这里
(4)DATEBASES
配置数据库,django支持多种数据库,MySQL、PosttgreSQL、Oracle等,默认的配置是SQLite
(5)LANGUAGE_CODE
设置项目语言,通常状况下不用修改,若非用汉字,则设置为‘zh-hans’
(6)TIME_ZONE
设置时区,一般为东八区,设置为‘Asia/Shanghai’
2. urls.py
URL配置表文件,根据用户输入的url将URL映射到应用程序上
3. wsgi.py
WSGI是python所选择的服务器和应用标准,Django也会使用
1. admin.py
在这个文件中能够自定义Django的管理工具,好比设置在管理界面可以管理的项目,
或者经过自定义与系统有关的类对象,向管理功能添加新的内容
2. apps.py
包含对应用的配置,为管理功能提供一个合适的应用名称
3. migrations
这是一个目录,用于存储应用的数据库表结构的指令,经过这些指令能够修改和建立数据库,从而在models.py模型类和数据库之间迁移
4. models.py
应用的数据模型
5. tests.py
编写测试文档来测试所创建的应用
6. views.py
用户保存响应各类请求的函数和类
修改blog/modells.py文件
from django.db import models # Create your models here. from django.contrib.auth.models import User from django.utils import timezone class BlogArticles(models.Model): #注意基类 ''' 标题,内容,做者,发布时间 ''' title = models.CharField(max_length=300) content = models.TextField() author = models.ForeignKey(User, "unknow", related_name="blog_posts") publish = models.DateTimeField(default=timezone.now) class Meta: ordering = ("-publish",) def str(self): return self.title
在/xbqr/manage.py执行python manage.py makemigrations
这样会在D:\Pystu\xbqr\blog\migrations目录下生成0001_initial.py文件
# Generated by Django 2.0.3 on 2018-03-25 06:47 from django.conf import settings from django.db import migrations, models import django.utils.timezone class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='BlogArticles', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=300)), ('content', models.TextField()), ('publish', models.DateTimeField(default=django.utils.timezone.now)), ('author', models.ForeignKey(on_delete='unknow', related_name='blog_posts', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-publish',), }, ), ]
若是对上述代码的含义不是很清楚,能够用python manage.py sqlmigrate blog 0001查看
上面建立了一个可以创建数据库表的文件,下面在此基础上真正建立数据库
python manage.py migrate
能够查看db.sqlite3数据库文件
如何查看能够参考博客:Python之sqlite3
先用最简单的方式实现博客文章的发布,使用django默认的管理功能就能够发布文章,要使用此功能,必须先建立超级管理员
python manage.py createsuperuser
在服务器运行的状况下
打开浏览器输入http://127.0.0.1:8000/admin进入网页
登陆后会看到Groups和Users两项,却找不到发布文章的地方
找到/blog/admin/py文件,添加代码
from django.contrib import admin from .models import BlogArticles # Register your models here. admin.site.register(BlogArticles)
这下咱们就看到发布博客的地方
点击add,添加博客
下篇博客继续讲解如何显示博客文章标题和文章内容!