创建项目
打开命令行,cd
到一个你想放置你代码的目录,然后运行以下命令:
$ django-admin startproject mysite
#建议使用pycharm创建Django工程,可以做一些配置
让我们看看 startproject 创建了些什么:
mysite/ 根目录只是你项目的容器
manage.py 一个让你用各种方式管理 Django 项目的命令行工具。
mysite/
__init__.py
settings.py Django 项目的配置文件。
urls.py Django 项目的 URL 声明
wsgi.py 作为你的项目的运行在 WSGI 兼容的Web服务器上的入口
新建app (IDE:pycharm)
- tools -> Run manage.py Task
- 新建app: startapp appName
在settings中注册message这个新建的app
INSTALLED_APPS = [
'apps.appName', # 注册新的app
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
配置数据库DATABASES
配置数据库DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'NAME': 'testdjango', #数据库名
'USER': 'django', #用户名
'PASSWORD': '123456', #密码
'HOST': '', #数据库主机,默认为localhost
'PORT': '', #数据库端口,MySQL默认为3306
'OPTIONS': {
'autocommit': True,
},
}
}
然后执行:
python manage.py makemigrations
python manage.py migrate
- 这样就自动创建好了一些默认的数据库表
配置apps.views.py
from django.shortcuts import render
def getForm(request):
return render(request, 'MyPage.html')#编写MyPage.html文件放在template目录下
配置urls.py
from django.conf.urls import url
from django.contrib import admin
from apps.views import myView
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/', myView),
]
url配置技巧
#每个url最好加上name
url(r'^form/$', getForm, name="go_form"),
#方便在模板中引用
{% url "go_form" %}
#关于匹配, 如果是URL只匹配form这个URL,以/$符号结尾
url(r'^form/$', getForm, name="go_form"),
访问http://127.0.0.1:8000/hello/ 即可看到你的页面
配置静态资源static路径
在settings.py中添加STATICFILES_DIRS
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
]
编写model
#model.py
class User(models.Model):
name=models.CharField(max_length=20,verbose_name='用户名')
password=models.EmailField(verbose_name='密码')
class Meta:
verbose_name='注册登录'
- 将model映射到数据库中
python manage.py makemigrations
python manage.py migrate
例:view处理前端的post请求。
#view.py
def getForm(request):
if request.method == "POST":
name=request.POST.get("name","")
password= request.POST.get("password", "")
user=User()
user.name=name
user.password= password
user.save() # 保存
return render(request, 'message_form.html')