ttsx2

2 day

项目基本设置

include的作用

每当Django遇到 include() 时,它将截断匹配的URL,并把剩余的字符串发往包含的URLconf作进一步处理。

继续看这个例子,这里就是被包含的URLconf mysite.blog.urls

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^(\d\d\d\d)/$', 'mysite.blog.views.year_detail'),
urlpatterns = patterns('',
    (r'^weblog/', include('mysite.blog.urls')),

/weblog/2007/ :在第一个URLconf中,模式 r'^weblog/' 被匹配。 因为它是一个 include() ,Django将截掉所有匹配的文本,在这里是 'weblog/' 。URL剩余的部分是 2007/ , 将在 mysite.blog.urls 这个URLconf的第一行中被匹配到。 URL仍存在的部分为 2007/ ,与第一行的 mysite.blog.urlsURL设置相匹配。

namespace的作用

然后在view和templates中使用app_name:name,此时就算有多个app中都有名为 index 的 name 也不会有问题了

https://www.jianshu.com/p/3dfd05c6e9d3

这个是我想要的:https://blog.csdn.net/weixin_30751947/article/details/101636962

stark

https://www.cnblogs.com/smallmars/p/8657094.html

1项目基本设置

1)应用设置

我们根据项目模块,创建了四个应用并全部置于apps包下:cart购物车、goods商品、order订单、user用户。

它们均需在settings里进行注册:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 下面是一些自定义添加的第三方应用和项目应用
    'tinymce',  # django-tinymce 富文本编辑器
    'haystack',  # 全文检索的框架
    # 'djcelery', # 将耗时的程序放到celery中执行
    # 'celery_tasks',

    # 项目应用
    'apps.cart',  # 购物车  cart
    'apps.goods',  # 商品
    'apps.order',  # 订单
    'apps.user',  # 用户
)
2) 模板路径配置(有必要吗?为什么没设置过)
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 配置模板文件路径
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
3)静态文件配置
# 配置静态文件目录
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
4)URLconf根文件配置
ROOT_URLCONF = 'dailyfresh.urls'
5)后台管理本地化语言配置
LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

其他settings文件配置会在开发模块功能中遇到时再添加配置。

6)dailyfresh.urls配置
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^search', include('haystack.urls')), # 全文检索框架
    url(r'^tinymce/', include('tinymce.urls')),  # 富文本编辑器url
    
    url(r'^user/', include('apps.user.urls', namespace='user')), # 用户模块 user.urls
    url(r'^cart/', include('apps.cart.urls', namespace='cart')), # 购物车模块
    url(r'^order/', include('apps.order.urls', namespace='order')), # 订单模块
    url(r'^', include('apps.goods.urls', namespace='goods')), # 商品模块
]

可以看到,我们将网页首页默认放在了goods模块路径下,其他模块URL路径均与其模块名相同。这样分解URL配置,有利于各模块的URL管理。但需注意,URL层级不能过长,一般最多控制在3级左右。

posted @ 2019-11-19 22:35  learnacode  阅读(178)  评论(0编辑  收藏  举报