看了N篇文章,终于搞掂了一个helloworld的pycharm+Django的WEB项目,期间好多坑,写下此问也是让自己和后来者以后别走弯路,本文中走错的路就不说了,直接指向光明。
当然这里说的项目是指pycharm内的项目,难不成helloworld也叫项目么。
步骤是这样的
1 安装pycharm专业版,什么破解的我不知道,请注重知识版权
2 新建项目
作为helloworld高手,自然是全部默认,【create】后生成这样的目录结构
其中用到的文件有
manage.py——用于执行
settings.py——配置,后面数据库有用到
urls.py——页面url
views.py——helloworld内容,每个应用里面都有一个
3 执行命令新建sayhello包
这个包看了几个文档说是要用命令行执行,为什么呢?如果直接用pycharm的创建,可能是没找到合适的入口,或者直接创建包部分文件不会生成
python manage.py startapp sayhello
当然这里是因为我创建过了,回头执行会不生效
4 修改helloworld里面的views.py
sayhelloviews.py
from django.shortcuts import render
# Create your views here.
import datetime
from django.http import HttpResponse
def sayHello(request):
s = 'Hello World!'
current_time = datetime.datetime.now()
html = ' %s %s
' % (s, current_time)
return HttpResponse(html)
urls.py
"""helloworld URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
import os.path
from django.contrib import admin
from django.urls import path
from sayhello import views
urlpatterns = [
path('admin/', admin.site.urls),
path(r'^sayhello/', views.sayHello) #新增加的sayhello APP包的指向
]
还有settings.py太长了,这里就贴关键点,APP的名字要在这里注册
可以回头研究下setting.py
DATAbaseS = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': base_DIR / 'db.sqlite3',
}
}
这里说的是用了sqlite3数据库
就是个文件啦,在目录里面能找到
6 登录页面看看,两个部分一个是Django的管理页,一个是自定义的页面sayhello
按执行按钮,或者执行命令
路径分别是
http://127.0.0.1:8000/admin/
http://127.0.0.1:8000/sayhello/
换成 ^sayhello就可以了,原因为什么还得研究。
7 第一个页面,没有用户密码,要执行命令
python manage.py createsuperuser
执行有可能会有些报错
按提示输入
python manage.py migrate
就好了
8 登录admin页面
这样就又完成了一个helloworld的项目了。



