事实上,使用slug进行了解释。我见过的很多方法都是对我说的。我来自laravel,并没有那么参与。我知道有一种更简单的方法可以带给我以下内容。我看到prepopulated_fields 我已经使用过但我不知道应该如何使用它。在使用prepopulated_fields的示例中,它们看起来很简短,但是我没有足够的解释来理解它。我也看到了不同的方法来编写我刚才通过Django学到的正则表达式。到目前为止,我所知道的关于正则表达式的是胡萝卜和美元符号。我不太清楚它是否知道正确或更有效的写作方式
这就是我见过它的方式
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'slug')
search_fields = ('content', )
prepopulated_fields = {'slug': ('title', )}
但它很简短,并且解释得像我应该知道而不是新手。我使用的是python 3.5和Django 1.9。
这些是我见过的一些正则表达式的例子,我不知道什么是正确的
(?P<slug>\d+)/$
(?P<slug>[-\w\d]+)
(?P<slug>[\w-]+)/
任何可以解释这一点的教程或书籍都将非常感激。
我的目标是拥有一个看起来像这样的网址
stackoverflow.com/1/ask-a-question
答案 0 :(得分:1)
首先,学习正则表达式的有用链接:
Online testing your regex patterns (python)
A first link of regex tutorial googled (regex in general)
其次,从你的正则表达式开始就是#3选项:
(?P<slug>[\w-]+)/
\ w =字母数字唱歌(0 - 9和a-z和A-Z)
- =允许正则表达式中的连字符
+ =一个或多个重复的字符(没有它你将在Django中出现404错误)
第三,你的目标:
# Option n. 1
url(r"^1/ask-a-question", views.your_function, name="your_function",
# OPTION n. 2
url(r"^(?P<slug>[\d]+)/ask-a-question", views.your_function, name="your_function"),
# Option n. 3
url(r"^(?P<slug_1>[\d]+)/(?P<slug_2>[\W-]+)", views.your_function, name="your_function"),
&LT;蛞蝓&GT;是从URL地址中提取的值,[]中的序列是&#34;验证器&#34; (该值例如是字符串而不是整数)。
第四,你是什么意思&#34; slufigy&#34;? (在哪种情况下)。我没有得到它,你能发布一些关于它的代码吗?)